SignalR--访问/SignalR/hubs时出错

SignalR--访问/SignalR/hubs时出错,signalr,Signalr,我正在尝试运行示例信号器代码。当我在BuildWebServer中运行它时,它工作正常。但是当我在virtualDirectory中托管代码时,出现以下错误 第35行: 对象为空 最终,它似乎找不到自动生成的信号器/集线器文件 我有以下代码 <script src="Scripts/jquery-1.6.4.min.js" ></script> <script src="Scripts/jquery.signalR-1.0.1.min.js"></scr

我正在尝试运行示例信号器代码。当我在BuildWebServer中运行它时,它工作正常。但是当我在virtualDirectory中托管代码时,出现以下错误

第35行: 对象为空

最终,它似乎找不到自动生成的信号器/集线器文件

我有以下代码

<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,它向我显示它正在以下方向查找文件

获取
http://myserver/SignalRChat/signalr/hubs
404未找到(文本/html)获取
http://myserver/SignalRChat/signalr/hubs
404未找到(text/html)

我已经将下面的行更改为所有这些,但它们似乎都不起作用

//]>


什么都没用。。。有人能给我提个建议吗?

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

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

试着替换

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


希望对您有所帮助 我的解决办法是 Startup.cs

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

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

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

在aspx文件中:

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

如果无法解决问题,您可以将hubs文件静态添加到脚本文件夹中,并直接引用它。
    public void Configuration(IAppBuilder app) {
        ConfigureAuth(app);

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

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