做网站自己,广州做网站信科网络,华跃建筑人才网,content timeline wordpress在新版本的BeetleX.Bumblebee中实现了对Weboskcet代理的支持#xff0c;因此使用BeetleX搭建同时支持HTTP和Weboskcet的网关只需要几行代码的工作就能完成#xff1b;接下来构建一个简单的网关程序并测试一下对asp.net core SignalR进行代理的应用。引用组件使用BeetleX构建网… 在新版本的BeetleX.Bumblebee中实现了对Weboskcet代理的支持因此使用BeetleX搭建同时支持HTTP和Weboskcet的网关只需要几行代码的工作就能完成接下来构建一个简单的网关程序并测试一下对asp.net core SignalR进行代理的应用。引用组件使用BeetleX构建网关只需要引用BeetleX.Bumblebee即可不过你相信也不想通过硬编码的方式来配置服务和负载策略所以为了管理方便还是引用一下 BeetleX.Bumblebee.Configuration,这是组件的一个网关管理插件除了这个外组件还提供了很多插件在这里就不介绍了详细可以访问beetlex.io搭建服务使用组件搭建自己的网关真的只需要几行代码即可完成代码如下: public class HttpServerHosted : IHostedService{private Gateway g;public virtual Task StartAsync(CancellationToken cancellationToken){g new Gateway();g.HttpOptions(o {o.Port 80;o.LogToConsole true;o.WriteLog true;});g.Open();g.LoadPlugin(typeof(Bumblebee.Configuration.Config).Assembly);if (Environment.OSVersion.Platform PlatformID.Win32NT){var ps new ProcessStartInfo($http://localhost:{g.HttpServer.Options.Port}/__system/bumblebee/index.html){UseShellExecute true,Verb open};Process.Start(ps);}return Task.CompletedTask;}public virtual Task StopAsync(CancellationToken cancellationToken){g.Dispose();return Task.CompletedTask;}}
以上就是一个完全整网关的服务代码它在本机AnyIP的80端口开启服务启动后可以看到组件的启动情况。构建一个SignalR项目可以构建一个简单的asp.net core SignalR项目并运行在5000端口上配置代理接下来就把80端代理到5000这个SignalR项目上由于SignalR这个项目除了有websocket外还有传统的http页面所以需要在网关中添加对应这个端口的http和ws服务具体如下:添加完成服务后还需要把服务添加到路由上添加完成后点保存代理即可生效接下来就可以访问80了。一个HTTP和Weboskcet网关服务就这样完成是不是很简单呢其实组件的功能还有很多如果需要了解可以访问beetlex.io需要完全示例代码可以访问https://github.com/IKende/BeetleX-Samples/tree/master/Gateway.Base想体验一下简单的代理后的websocket聊天服务可以访问http://chat.beetlex.io