我有一个简单的 signalR 应用程序(集线器是“/myNotifyHub”),用于在客户端之间发送通知。语言 c#,.net 6.0 核心。有很多相同的例子。但他们没有涵盖的是,
如何确保端口始终恒定?如果不是,我如何找到端口?也许如果部署在网站 http://www.myinternalwebsite.com/ 上的 IIS 上,客户端在点击“http://www.myinternalwebsite.com/myNotifyHub”时会自动找到端口?
在上述网站上部署这个 signalR Web 应用程序的过程是什么?
请不要让我指向 Microsoft 学习项目,它不涵盖上述内容,因为您可以在评论中阅读该主题的攻击流中的许多类似问题。
提前致谢。
尝试了什么:
尝试发布应用程序,但客户端无法解析中心 URL。它可以连接到基地网站。
只能用swagger本地连接。
您可以通过使用
/myNotifyHub path
指定集线器来确保 SignalR 集线器具有特定的 URL。
现在,当您的 SignalR 应用程序部署到 IIS 并且您的网站可通过
http://www.myinternalwebsite.com/
访问时,您的 SignalR 中心将在 http://www.myinternalwebsite.com/myNotifyHub
可用。该端口将由 IIS 管理,您无需担心指定它。
关于部署:
默认情况下,IIS 上未启用 Websocket 支持。它是在 IIS 8 中引入的,必须通过 Windows 可选功能启用:https://learn.microsoft.com/en-us/iis/get-started/whats-new-in-iis-8/iis-80- websocket 协议支持.
在 IIS 中托管网站和在 IIS 中托管 SignalR 网站没有什么特别的。