日韩欧美国产精品免费一二-日韩欧美国产精品亚洲二区-日韩欧美国产精品专区-日韩欧美国产另-日韩欧美国产免费看-日韩欧美国产免费看清风阁

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

【C#】Winform開發程序集成web頁面訪問來登錄和修改程序配置參數

admin
2025年3月15日 16:47 本文熱度 538

以下是實現C# Winform集成Web頁面登錄及配置修改功能的代碼方案,結合了數據庫驗證和Web服務交互,實現自托管Web服務的完整方案,無需依賴IIS或其他第三方服務:

一、自托管Web服務核心實現(OwinSelfHost)

// Startup.cs
using Owin;
using System.Web.Http;

public class Startup
{
    public void Configuration(IAppBuilder app)
    {
        var config = new HttpConfiguration();
        config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );
        app.UseWebApi(config);
    }
}

// Program.cs
using Microsoft.Owin.Hosting;
using System;

class Program
{
    static void Main(string[] args)
    {
        string baseAddress = "http://localhost:8080/";
        using (WebApp.Start<Startup>(baseAddress))
        {
            Console.WriteLine($"Web服務已啟動:{baseAddress}");
            Console.WriteLine("按任意鍵退出...");
            Console.ReadKey();
        }
    }
}

二、Winform集成Web服務(引用)

// MainForm.cs
public partial class MainForm : Form
{
    private IDisposable _webService;

    public MainForm()
    {
        InitializeComponent();
        StartWebServer();
    }

    private void StartWebServer()
    {
        try
        {
            _webService = WebApp.Start<Startup>("http://localhost:8080/");
            btnStartServer.Enabled = false;
            btnStopServer.Enabled = true;
        }
        catch (Exception ex)
        {
            MessageBox.Show($"啟動失敗:{ex.Message}");
        }
    }

    private void StopWebServer()
    {
        _webService?.Dispose();
        btnStartServer.Enabled = true;
        btnStopServer.Enabled = false;
    }

    // 配置管理示例方法
    private async void btnUpdateConfig_Click(object sender, EventArgs e)
    {
        var config = new ConfigModel { Param1 = "新值" };
        using (var client = new HttpClient())
        {
            var response = await client.PostAsJsonAsync("http://localhost:8080/api/config", config);
            if (response.IsSuccessStatusCode)
            {
                MessageBox.Show("配置更新成功!");
            }
        }
    }
}

三、Web API控制器示例

// ConfigController.cs
using System.Collections.Generic;
using System.Web.Http;

public class ConfigModel
{
    public string Param1 { get; set; }
    public int Param2 { get; set; }
}

public class ConfigController : ApiController
{
    private static readonly List<ConfigModel> _configs = new List<ConfigModel>();

    [HttpGet]
    public IHttpActionResult GetConfig()
    {
        return Ok(_configs.FirstOrDefault());
    }

    [HttpPost]
    public IHttpActionResult UpdateConfig(ConfigModel config)
    {
        _configs.Clear();
        _configs.Add(config);
        return Ok();
    }
}

四、前端交互頁面(HTML+JavaScript)

<!-- config.html -->
<form id="configForm">
    <input type="text" name="param1" placeholder="參數1">
    <input type="text" name="param2" placeholder="參數2">
    <button type="submit">保存</button>
</form>

<script>
document.getElementById('configForm').addEventListener('submit', async (e) => {
    e.preventDefault();
    const formData = new FormData(e.target);
    const response = await fetch('http://localhost:8080/api/config', {
        method: 'POST',
        headers: { 'Content-Type': 'application/json' },
        body: JSON.stringify(Object.fromEntries(formData))
    });
    if (response.ok) alert('配置已更新!');
});
</script>

關鍵實現說明

自托管技術選型:

使用OwinSelfHost 實現輕量級Web服務托管

支持.NET Framework 4.5+和.NET 6+跨平臺部署

 

權限管理:

需以管理員身份運行程序以開啟HTTP監聽

建議通過HTTPS加密通信(需配置SSL證書)

 

功能擴展建議:

添加JWT身份驗證中間件

使用內存數據庫(如SQLite)替代靜態存儲

實現配置變更日志記錄


部署注意事項:

可將服務作為Windows服務運行

建議設置防火墻規則開放80/443端口

完整代碼需根據實際項目結構調整數據庫連接、路由配置等參數。建議先在開發環境測試自托管服務穩定性,再部署到目標機器。


該文章在 2025/3/15 16:48:13 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 国内外精品一区二区三区在线观看 | 日本中文字幕网址 | 国产一区免费在线观看 | 亚洲色偷偷综合亚洲v | 国产精品福利一区二区 | 91网首页| 日韩一区二区视频在线观看 | 日韩一本之道一区中文字幕 | 国产一区视频在线观看免费 | 欧美日韩在线视频 | 国产精品偷伦视频免费观看 | 青青青国产观91 | 日本免费一区二区三区在线看 | www成年人视频 | 人成黄页在线观看国产 | 亚洲视频日本在 | 最新高清私人vip视频资源 | 国产一区二区三区日韩欧美 | 全网热播最新电影电视剧 | 欧美人与性动交α欧美精品 | 国产视频第一页 | 里啪啦影院大全 | 国产精品999 | 国产偷伦视频片免费视频 | 国产免费人成视频在线观看播放 | 九九热免费在线观看 | 亚洲综合在线一区二区三区 | 亚洲欧美春色激情另类 | 精品一卡2卡三卡4卡三卡 | 精品国产aⅴ一区天美传媒 开心五月丁香花综合网 | 日本视频免费观看 | 国产亚洲精品片a77777 | 天天视频美女靠逼 | 亚洲精品国产第一区二区小说 | 一区二区视频在线观看入口 | 一级a一片在线播放国产 | 欧美日韩免费不卡在线观看 | 视频在线观看播放免费 | 国产尤物在线视精品在亚洲 | 在线永久观看国产精品电影 | 东京男人的天 |