C# IIS SignalR/signalr/hubs 文件夹

标签 c# asp.net iis signalr

我有一个 ASP.NET Web 应用程序,带有简单的 SignalR 设置和集线器。当我发布文件时,它会生成 web/packages.config 和/bin/dll。

在客户端,我还可以轻松访问 IIS 上的集线器:

var hubConnection = new HubConnection("http://localhost:80");
IHubProxy proxy = hubConnection.CreateHubProxy("TestHub");

当我访问http://localhost/signalr/hubs时我可以看到生成的集线器,但它到底是如何工作的?我在 IIS 文件夹中找不到/signalr/hubs 目录。 它何时以及如何生成?

最佳答案

该目录根本没有生成,它永远不存在。

路由器是 ASP.NET 和一般 Web 框架的重要组成部分。基本上,您熟悉静态文件处理程序(处理“/myFolder/myFile.doc”等路由)并将文件返回到浏览器。

但是,您还需要一种执行代码的方法。由于对 Web 服务器执行请求的主要方式是 REST; Web 框架将某些 URL 动词组合路由到代码处理程序。这就是 WebAPI 和 MVC 的工作原理。对于 SignalR,它会注册“/signalr/hubs”路由,并在请求该路由时返回生成的 javascript 文件。

关于C# IIS SignalR/signalr/hubs 文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44375693/

相关文章:

c# - XML 序列化具有抽象基类的可序列化对象的通用列表

C# 在浏览器中选择

c# - WPF 布局绑定(bind)

asp.net - 在托管 ASP 站点的 URL 中附加 www(即无 IIS 访问权限)

c# - 如何在现有数据库中实现 ASP.NET Identity 2.0?

asp.net - 同浏览器同版本差异显示网站

c# - 在 IIS 上验证 WCF 服务时,仅第一次调用 AuthenticateRequest

c# - NetUseAdd 返回错误 67 或 87

asp.net - 请建议一种在 Windows Azure 中存储临时文件的方法

asp.net - maxRequestPathLength 不在 ASP.NET 4 文档中并且不起作用