webbrowser中localhost和发布的地址_WinForm/WPF中内嵌BeetleX的HTTP服务

在新版本的BeetleX.FastHttpApi加入了对netstandard2.0支持,如果程序基于.NetFramework4.6.1来构建WinForm或WPF桌面程序的情况下可以直接把BeetleX的HTTP嵌入到程序中,轻易就能实现一个本地化的HTTP服务并提供静态资源和WebAPI的调用处理;以下简单地介绍在WinForm/WPF引入BeetleX.FastHttpApi的HTTP服务。

引用Beetlex

组件在1.4.5.8版本后加入了对netstandard2.0的支持,只需要在Nuget上添加这个或更高版的BeetleX.FastHttpApi即可

8547f3d239d742c5cdb4e6b09eb36c4b.png

添加代码

只需要几行代码即可在程序中添加HTTP服务

c5f5d9929d3921687f66f2b4b4617edc.png

构建一个HttpApiServer对象,然后把当前程序集注册到服务中即可完成。

服务配置

1c592e4d07fc64c2be7ed4702df56070.png

默认配置是在端口12345上开启httpwebsocket服务;运行程序后可以通过浏览器访问http://localhost:12345即可访问服务。不过更多情况是程序内嵌一个webBrowser打开,这样即可完全使用html+css+js来构建一个本地UI程序了。

静态资源添加

组件通过目录名来约束资源存储位置,所有资源必须存放在程序的views目录下

9f21c92c6e56b2fbe37488d592a42138.png

静态文件属性设置成嵌入程序或编译复制的方式进行发布,程序可以在webBrowser设置服务地址即可打开网页,效果如下:

badb231156a2d3cd2664e907009739f4.png

通过这种集成方式WinForm/WPF就完全可以用html+css+vue等这些功能进行windows程序UI开发。

定义Webapi

如果使用内嵌的http+html+css+vue做桌面应用开发,那必然也需要有数据交互的接口;接下来简单地定义一个接口让javascript访问

419c9cdeb293236247a44770de462fe3.png

只需要在项目中简单地添加一个控制器即可,以上GetStarted访问的访问路径是/GetStarted;通过ajax在页面调用的脚本

9282fa2b7043c463dba7126f9e0da543.png

4f8f614f0ddd4283928b1d2f38eaa6ec.png

以上是WinForm/WPF内嵌BeetleX构建的一个桌面应用,是不是感觉很简单?如果你对Beetlex感兴趣可以关注https://github.com/IKende/FastHttpApi

完整示例代码

https://github.com/IKende/FastHttpApi/tree/master/samples/WinWebSample


专注dotnet core服务应用技术研发

b6eced61c1962218b1a49ee2e96ab577.png

  • BeetleX高性能通讯组件并提供ssl支持

    https://github.com/IKende/BeetleX

  • FastHttpApi轻量级高性能的webapi组件,支持websocket和sssl,性能远高于asp.net core webapi

    https://github.com/IKende/FastHttpApi

  • Bumblebee高性能Webapi网关,支持插件扩展,动态路由配置和负载策略

    https://github.com/IKende/Bumblebe   

  • BeetleX.Redis高性能async/non-blocking组件,默认支持json和protobuf

    https://github.com/IKende/BeetleX.Redis

  • WebApiBenchmark高性能的Webapi测试用例管理和压测工具,可以轻实现对多个API进地数十万RPS压测

    https://github.com/IKende/WebApiBenchmark

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值