设置在根信号R终结点上显示的 HTML

本文关键字:显示 HTML 结点 信号 设置 | 更新日期: 2023-09-27 18:34:34

我有一个使用 SignalR 进行通信的 C# 客户端和服务器应用程序。服务器是自承载可执行文件。一切正常。当我将服务器的端点地址(又名http://blahBlah:18080/(放入浏览器时,它会显示一个完全空白的页面。(这比服务器未运行时要多。但是,我想重用该端点来显示服务器的一些状态信息。如何指定要由该默认 SignalR 终结点返回的 HTML?我的服务器设置非常简单,列在这里:

app.UseCors(CorsOptions.AllowAll);
app.MapSignalR(new HubConfiguration
{
  EnableDetailedErrors = true,
  EnableJavaScriptProxies = false,
  EnableJSONP = false,
});

设置在根信号R终结点上显示的 HTML

SignalR 不用于提供 HTML 页面。除了映射 SignalR 之外,还需要将 OWin 配置为文件服务器。据我所知,您将无法将 SignalR 和静态文件映射到同一目录。例如,可以将http://bloBlah:18080/映射到文件系统,并将 SignalR 映射到http://bloBlah:18080/signalR

第一件事是通过NuGet添加Microsoft.Owin.StaticFiles。然后,创建到索引.html文件的映射。此代码示例非常基本 - 您需要仔细查看文件服务器选项。

var options = new FileServerOptions()
{
    EnableDirectoryBrowsing = false,
};
options.DefaultFilesOptions.DefaultFileNames.Add("index.html");
app.UseFileServer(options);

这两个代码示例帮助我弄清楚了这一点:

  • http://aspnet.codeplex.com/sourcecontrol/latest#Samples/Katana/StaticFilesSample/Startup.cs
  • http://odetocode.com/blogs/scott/archive/2014/02/10/building-a-simple-file-server-with-owin-and-katana.aspx