gpt4 book ai didi

asp.net - ServiceStack 和 SignalR 一起在同一个项目中

转载 作者:行者123 更新时间:2023-12-02 04:33:37 25 4
gpt4 key购买 nike

这是一个有点微不足道的问题,但我在单个 Asp.Net 主机应用程序中使用 SignalR 和 ServiceStack。

意味着,这是一个简单的 Asp.Net 空白应用程序,ServiceStack 运行在 / 上,并且使用 Razor 显示默认页面。运行完美。

现在,我添加了 SignalR asp.net 主机。添加了启动类并创建了中心来监听和广播聊天消息。

我只在默认页面中编写了客户端代码。现在,一切进展顺利。意味着 API 和 SignalR 都在本地计算机上运行。

现在的问题是,这是正确的做事方式吗?意思是,是否有两个不同的进程正在访问 IIS。或者有什么方法可以将进程链接到单个进程。

或者甚至是 ServiceStack API 的一部分,我可以实现实时。

如果需要任何进一步的信息,请告诉我。

最佳答案

是的,这是可能的,但目前你无法在 Owin 上运行 ServiceStack(据我所知)

所以你需要在特定位置运行ServiceStack。

<location path="ssapi">

<system.web>
<httpHandlers>
<add path="*" type="ServiceStack.HttpHandlerFactory, ServiceStack" verb="*"/>
</httpHandlers>
</system.web>

<system.webServer>
<handlers>
<add path="*" name="ServiceStack.Factory" type="ServiceStack.HttpHandlerFactory, ServiceStack" verb="*" preCondition="integratedMode" resourceType="Unspecified" allowPathInfo="true" />
</handlers>
</system.webServer>

</location>

您可能还需要从该位置删除 owin/signalr 内容的处理程序。

或者,您可以在特定路径上设置 SignalR 并从该路径中删除 ServiceStack。

<location path="signalr">

<system.web>
<httpHandlers>
<remove type="ServiceStack.HttpHandlerFactory, ServiceStack" />
</httpHandlers>
</system.web>

<system.webServer>
<handlers>
<remove name="ServiceStack.Factory" />
</handlers>
</system.webServer>

</location>

关于asp.net - ServiceStack 和 SignalR 一起在同一个项目中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22483650/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com