3

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

第 35 行:对象为空

归根结底,它似乎无法找到自动生成的信号R/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/hubs404 未找到(文本/html) GET http://myserver/SignalRChat/signalr/hubs404 未找到(文本/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

4 回答 4

2

The virtual directory doesn't seem to be mapped correctly to the physical directory. The /signalr/hubs url isn't pointing to the correct location in the physical directory. You might need to modify the path in the Routes.MapHubs() to ensure that it maps to correct location in the physical directory.

于 2013-04-05T06:44:29.677 回答
2

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

尝试更换

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

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

希望能帮助到你

于 2013-04-05T06:53:08.503 回答
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 文件中: <script src='<%: ResolveClientUrl("~/signalr/hubs") %>'></script>

于 2015-02-24T15:46:06.423 回答
0

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

于 2018-03-16T04:11:12.517 回答