SignalR - 信号器/集线器文件

CBa*_*ker 2 signalr

有人可以向我解释信号器/集线器文件的工作原理吗?

阅读文档后,它说文件是在运行时生成的.但是,当我第一次加载网站时,您将其包含在所有其他javascript文件中,例如

<script src="Scripts/jquery-1.10.2.min.js"></script>
<!--Reference the SignalR library. -->
<script src="Scripts/jquery.signalR-2.1.2.min.js"></script>
<!--Reference the autogenerated SignalR hub script. -->
<script src="signalr/hubs"></script>
Run Code Online (Sandbox Code Playgroud)

这是如何运作的?

我根本无法在磁盘上找到该文件,那么Web浏览器如何能够像这样请求它?

谢谢你的解释!

DLe*_*Leh 7

就像文档说的那样,JS是自动生成的.文件本身不会存储在文件系统上,而是根据请求(可能已缓存)生成到该/signalr/hubs位置.

键入http://myServer:port/signalr/hubs到浏览器中,你会看到什么样的js文件的样子.

原理与每个Web应用程序相同:导航到页面时看到的确切文件不是文件系统中某个文件的副本,而是服务器代码运行的结果.安装SignalR设置一个路由来处理发出的请求,/signalr/hubs并在请求时返回组成JS文件的字符串.

此代码配置为在您将SignalR dll添加到项目时运行,并在执行以下语句时准备服务器以使用SignalR,通常是在Startup.cs您的Owin启动类中.

app.MapSignalR();
Run Code Online (Sandbox Code Playgroud)