SignalR - 到/ signalR / hubs时出错

时间:2013-04-05 03:02:18

标签: signalr

我正在尝试运行示例signalR代码。当我在inbuild Webserver中运行它时它工作正常。但是当我在virtualDirectory中托管代码时会出现以下错误

第35行: 对象为空

归结为它无法找到AUTOGenerated signalR / Hubs文件......

我有以下代码

<script src="Scripts/jquery-1.6.4.min.js" ></script>
<script src="Scripts/jquery.signalR-1.0.1.min.js"></script>
<script src="signalr/hubs" type="text/javascript"></script>

我使用了fiddler,它告诉我它正在按照以下方向寻找文件

GET http://myserver/SignalRChat/signalr/hubs 404 Not Found(text / html)GET http://myserver/SignalRChat/signalr/hubs 404 Not Found(text / html)

我已将以下行更改为所有这些,但它们似乎都无法正常工作

<script type="text/javascript" src="/signalr/hubs">

<script type="text/javascript" src="~/signalr/hubs">

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

没有什么工作......任何人都可以建议我

4 个答案:

答案 0 :(得分:2)

虚拟目录似乎未正确映射到物理目录。 / signalr / hubs url未指向物理目录中的正确位置。您可能需要修改Routes.MapHubs()中的路径,以确保它映射到物理目录中的正确位置。

答案 1 :(得分:2)

我也有类似的问题,它是虚拟目录的问题。

尝试替换

<script type="text/javascript" src="~/signalr/hubs">

<script type="text/javascript" src="~/SignalRChat/signalr/hubs">

希望有所帮助

答案 2 :(得分:1)

来自http://sylvester-lee.blogspot.com.au/2014/03/aspnet-signalr.html 我的解决方案是 Startup.cs

    public void Configuration(IAppBuilder app) {
        ConfigureAuth(app);

        var hubConfiguration = new HubConfiguration();
        hubConfiguration.EnableDetailedErrors = true;
        hubConfiguration.EnableJavaScriptProxies = true;

        app.MapSignalR("/signalr", hubConfiguration);
    }

在aspx文件中:&lt; script src =&#39;&lt;%:ResolveClientUrl(&#34;〜/ signalr / hubs&#34;)%&gt;&#39;&gt;&lt; / script&gt; < / p>

答案 3 :(得分:0)

我的应用程序主要是客户端的html和js,在尝试在新的Windows 10 PC上运行后,我收到了类似的错误 - 直到我意识到我没有在IIS中启用ASP.NET (运行“程序和功能” - >> Internet信息服务 - &gt;万维网服务 - &gt;我的情况下是ASP.NET 4.7)