C# 桌面客户端内置 http 服务器 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jikoya
V2EX    前端开发

C# 桌面客户端内置 http 服务器

  •  
  •   jikoya 2023-10-12 08:40:29 +08:00 2261 次点击
    这是一个创建于 737 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在做一个桌面客户端( winforms ),需要在里面内置一个 http 服务,作为服务器来监听客户端的请求(现在是用的 HttpListener ,无法满足需求),有什么好用的第三方库吗?小白水平,刚入门,说的不对的,请大神帮忙纠正。

    15 条回复    2023-10-12 12:29:55 +08:00
    Lenic
        1
    Lenic  
       2023-10-12 08:41:48 +08:00 via iPhone
    这是图什么?
    ktqFDx9m2Bvfq3y4
        2
    ktqFDx9m2Bvfq3y4  
       2023-10-12 08:51:20 +08:00
    你可以试试 Nancy 这个框架,我之前用这种方式监听自己的 Web 后台,然后打印和拍照用。后来我也基于它弄了一个安装式 Server 端,方便客户部署而不用管 IIS 。
    iold
        3
    iold  
       2023-10-12 09:11:37 +08:00
    如果你的.net 版本比较高,就直接用 Kestrel ,都是微软的东西,肯定不选第三方。
    a33291
        4
    a33291  
       2023-10-12 09:12:39 +08:00
    直接内嵌 AspNetCore 就行,Nancy 已经不更新维护了,不推荐
    gleox
        5
    gleox  
       2023-10-12 09:19:37 +08:00
    如果是.NET Famework 用 nancy ,netcore 可以用 https://github.com/unosquare/embedio
    freeup
        6
    freeup  
       2023-10-12 09:25:50 +08:00
    OWIN 试试
    xomix
        7
    xomix  
       2023-10-12 09:31:56 +08:00
    有点儿不太理解你的需求,如果只是在 80 端口监听你完全可以直接用 System.Net 的 TCP 监听处理。
    xrzxrzxrz
        8
    xrzxrzxrz  
       2023-10-12 09:59:13 +08:00
    你其实是想 客户端接收来自服务端的通知?如果你是想监听,也可考虑用 WCF ,做双向通讯(客户端可以通知服务端,服务端可以推送给客户端)
    liuliuliuliu
        9
    liuliuliuliu  
    PRO
       2023-10-12 10:05:01 +08:00
    linjq2010
        10
    linjq2010  
       2023-10-12 10:13:09 +08:00
    HttpListener 哪方面无法满足?
    hahastudio
        11
    hahastudio  
       2023-10-12 10:22:09 +08:00
    服务器来监听客户端的请求,不可以让客户端给服务器发请求来主动推送么
    如果客户端的网络环境复杂一些,比如服务器和客户端不在同一内网,或者客户端没有公网 IP ,你这个就很难做啊
    beyondex
        12
    beyondex  
       2023-10-12 11:23:22 +08:00
    aspnet core + Kestrel self host, 很轻松。
    y77FXoxF970725SJ
        13
    y77FXoxF970725SJ  
       2023-10-12 11:25:23 +08:00
    你是否在找:“WCF 自承载”
    march1993
        14
    march1993  
       2023-10-12 11:27:18 +08:00
    要不内嵌一个 golang 的 dll 吧,golang 用 gin 或者 echo 都很方便
    forgottencoast
        15
    forgottencoast  
       2023-10-12 12:29:55 +08:00
    @linjq2010
    应该是 OP 自己的技能无法满足。
    大家的低层肯定都是用 HttpListener 的,不可能 HttpListener 无法满足。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2470 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 11:33 PVG 19:33 LAX 04:33 JFK 07:33
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86