2

我正在尝试使用一个简单的 SignalR 示例,出于以下原因,我得到了 404 代码 -

<script src="<%= ResolveUrl("~/signalr/hubs") %>" type="text/javascript"></script>

我检查了 SignalR 文档并根据那里的建议更改了我的 web.config 我仍然得到了 404 状态代码。

我的代码如下 -

网络配置:

<configuration>
  <system.web>
    <compilation debug="true" targetFramework="4.0">
      <assemblies>
        <add assembly="Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
      </assemblies>
    </compilation>
    <httpRuntime/>
  </system.web>
  <system.webServer>
        <validation validateIntegratedModeConfiguration="false" />
        <modules runAllManagedModulesForAllRequests="true">
        </modules>
    </system.webServer>
</configuration>

默认.aspx:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <script src="Scripts/jquery-1.6.4.min.js" type="text/javascript"></script>
    <script src="Scripts/jquery.signalR-0.5.3.min.js" type="text/javascript"></script>
    <script src="<%= ResolveUrl("~/signalr/hubs") %>" type="text/javascript"></script>
    <script type="text/javascript">
        $(function () {

            //var connection = new Connection( "127.0.0.1");

            // Proxy created on the fly
            var chat = $.connection.chatt;

            // Declare a function on the chat hub so the server can invoke it
            chat.addMessage = function (message) {
                $('#messages').append('<li>' + message + '</li>');
            };



            $("#broadcast").click(function () {
                // Call the chat method on the server
                chat.send($('#msg').val());
            });

            // Start the connection
            $.connection.hub.start();
        });
    </script>
</head>

<input type="text" id="msg" />
<input type="button" id="broadcast" value="broadcast" />

<ul id="messages">
</ul>
</html>

请协助。

4

1 回答 1

3

我遇到了同样的问题,解决方案是将其放入您的 Global.asax 文件中:

protected void Application_Start(object sender, EventArgs e)
{
    RouteTable.Routes.MapHubs();
}

不幸的是,这在任何地方都没有记录,即使它是 SignalR 配置的重要组成部分......

于 2012-09-16T17:25:11.140 回答