一个既有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
之后就可以调用接口了。
posted @   游园惊梦、  阅读(883)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
点击右上角即可分享
微信分享提示