我写了一个自托管的 SignalR 应用程序(一个 Windows 服务)。现在我想将 NancyFx 添加到这个应用程序中以处理 UI - 一个自给自足的嵌入式 Web 应用程序,没有任何外部依赖项。
我知道我们可以拥有一个自托管的 SignalR 应用程序。我们也可以拥有一个自托管的 NancyFx 应用程序。
现在,如何将这两者结合在一个应用程序中?哪一个应该主持哪一个?
我写了一个自托管的 SignalR 应用程序(一个 Windows 服务)。现在我想将 NancyFx 添加到这个应用程序中以处理 UI - 一个自给自足的嵌入式 Web 应用程序,没有任何外部依赖项。
我知道我们可以拥有一个自托管的 SignalR 应用程序。我们也可以拥有一个自托管的 NancyFx 应用程序。
现在,如何将这两者结合在一个应用程序中?哪一个应该主持哪一个?
使用 Owin,它会让事情变得更容易。就示例而言,您可以查看:
https://github.com/damianh/NancySignalrOwin
这可能是最简单/最好的例子。
基本上,您想创建一个启动文件并指定 Nancy 使用的路径。
public partial class Startup
{
public void Configuration(IAppBuilder app)
{
app.Map("/site", siteBuilder => siteBuilder.UseNancy())
.MapSignalR();
}
}
然后在您的程序文件或您启动它的任何位置正常启动您的 WebApplication。SignalR 和 Nancy 将被接走。
编辑: Map/MapPath 来自 Microsoft.Owin 包。