一个既有winform又有webapi 的例子
首先,新建要给winform项目。
然后再建一个类,继承自Apicontroller。把你的接口写好。
还要建一个startup类,这就是你的接口的路由。内容如下:
public class Startup { public void Configuration(IAppBuilder appBuilder) { HttpConfiguration config = new HttpConfiguration(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{action}/{id}", defaults: new { id = RouteParameter.Optional } ); appBuilder.UseWebApi(config); } }
之后添加你需要的引用,如果出现
appBuilder.UseWebApi(config);报错的情况,nuget添加:Microsoft.AspNet.WebApi.OwinSelfHost。
然后再winform 的Load事件或者构造函数中添加如下代码:
WebApp.Start<Startup>(url: baseAddress);
完事。
下面是demo的文档
1:客户端
可以主动向服务端注册,同时也会自动注册,每个10秒注册一次。只会注册配置中未运行的程序
配置1:在 appSettings 里面添加配置为非编和合成的进程名称以及路径。
配置2:
Clientip:客户端IP
Serverip:服务端IP
Port:服务端port
Timestamp:整数,表示服务端发过来的切换命令多少秒之后会自动切换。
2:服务端
管理来自客户端注册的信息
需要切换时,勾选需要切换的程序,点击切换。客户端收到消息会弹框。由客户端决定是否切换。
配置:
Timestampe:表示每隔多少秒刷新一次客户端注册的信息。
Serverip:服务端IP
Port:服务端端口
下载地址:https://download.csdn.net/download/qq_32379229/12883585
之后就可以调用接口了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了