实现 WebApi 自托管服务宿主于 WinForms 及其交互

本文详细介绍了如何在WinForms应用程序中自托管WebApi服务,并与之进行交互。通过创建解决方案,设置WinForms控件,引用NuGet包,开发HTTP服务类,调用服务以及创建控制器,实现服务端API。注意,运行时需要管理员权限。
摘要由CSDN通过智能技术生成

实现 WebApi 自托管服务宿主于 WinForms 及其交互

在 Windows 平台 Web 服务一般托管于 IIS. 在开发中, 会遇到 WinForms 或 WPF 服务端程序需要提供对外 API 作为服务. 在本文详细介绍 WebApi 自托管于 WinForms 中, WPF 或 Console 程序实现类似.

0. 完整示例演示

示例演示

1. 新建解决方案以及 WinForms 工程

1.1. 新建解决方案及工程

如下图所示:

在这里插入图片描述

  • 建立空白解决方案及 Winforms 工程,
  • 新建 Controllers 文件夹用于存放 WebApi 代码,
  • 新建 Services 文件夹用于存放服务代码.

1.2. 拖拽控件

绘制必要控件, 布局如下:

在这里插入图片描述

备注: 绘制一个 NumericUpDown 和两个 Button 控件.

1.3. 引用相关 NuGet 包

  • Microsoft.AspNet.WebApi.Client
  • Microsoft.AspNet.WebApi.Core
  • Microsoft.AspNet.WebApi.SelfHost

2. 开发 HTTP 服务类

/// <summary>
/// HTTP service.
/// </summary>
public class HttpService : IDisposable
{
   
    /// <summary>
    /// HTTP server's listening port.
    /// </summary>
    public int Port {
    get; set; }

    /// <summary>
    /// HTTP self hosting.
    /// </summary>
    private readonly HttpSelfHostServer _server;

    /// <summary>
    /// HTTP server.
    /// </summary>
    /// <param name="port">Listening port.</param>
    public HttpService(int port)
    {
   
        this.Port = port;

        var config = new HttpSelfHo
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值