Signalr 信号器-信号器/集线器文件

Signalr 信号器-信号器/集线器文件,signalr,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"&

有人能给我解释一下信号器/集线器文件是如何工作的吗

在阅读文档后,它表示文件是在运行时生成的。但是,当我第一次加载一个站点时,您会将其与所有其他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>

这是怎么回事

我在磁盘上根本找不到那个文件,那么web浏览器怎么能这样请求它呢


谢谢你的解释

如文档所述,JS是自动生成的。文件本身不会存储在文件系统中,而是根据请求生成(可能是缓存)到
/signal/hubs
位置

输入
http://myServer:port/signalr/hubs
进入浏览器,您将看到js文件的样子

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

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

app.MapSignalR();
当上述请求发送到服务器时,可以在浏览器中使用下面的URL查看服务器的进一步过程,如#DLeh的回答中所述

也可以在控制台面板中观察到

有关进一步的指导,您可以使用以下链接


那么这是如何工作的呢?客户端请求/signal/hub。IIS观察到该请求,它如何知道提供什么服务?谢谢,这会让您感觉更为合理。您还可以生成hubs文件以拥有脱机副本和服务器,如果它更适合您的应用程序:
<!--Reference the autogenerated SignalR hub script. -->
<script src="signalr/hubs"></script>
 $(function () {
        // Declare a proxy to reference the hub. 
        var chat = $.connection.chatHub;

        // Start the connection.
        $.connection.hub.start().done(function () {
            $('#sendmessage').click(function () {
                // Call the Send method on the hub. 
                chat.server.send($('#displayname').val(), $('#message').val());                                       
            });
        });
    });
http://myServer:port/signalr/hubs