ocelot转发signalr/socket

  1. startup文件中需要将websocket添加到管道
 Configure(app =>
{
    //注意位置尽量在ocelot之前
    app.UseWebSockets();
    app.UseOcelot().Wait();
})
  1. socket配置路由
{
     "DownstreamPathTemplate": "/ws",
     "UpstreamPathTemplate": "/",
     "DownstreamScheme": "ws",
     "DownstreamHostAndPorts": [
         {
             "Host": "localhost",
             "Port": 5001
         }
     ],
 }
  1. signalr配置路由
  {
 "Routes": [
   {
     "DownstreamPathTemplate": "/{catchAll}",
     "DownstreamScheme": "ws",
     "DownstreamHostAndPorts": [
       {
         "Host": "localhost",
         "Port": 50000
       }
     ],
     "UpstreamPathTemplate": "/gateway/{catchAll}",
     "UpstreamHttpMethod": [ "GET", "POST", "PUT", "DELETE", "OPTIONS" ]
   }
]
}
  1. web端调用时候需要调整
const connection = new signalR.HubConnectionBuilder()
    .withUrl("ws://127.0.0.1:6005/gateway/chatHub", {   // 这里使用WebSockets,不这样写连不上
        skipNegotiation: true,
        transport: signalR.HttpTransportType.WebSockets
    })
    .configureLogging(signalR.LogLevel.Information)
    .build();

[参考]
官网websockets
ocelot动态路由问题

posted @   Hey,Coder!  阅读(588)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
历史上的今天:
2021-09-08 vc获取特殊路径
2021-09-08 vc 获取系统版本
点击右上角即可分享
微信分享提示