SignalR--访问/SignalR/hubs时出错
我正在尝试运行示例信号器代码。当我在BuildWebServer中运行它时,它工作正常。但是当我在virtualDirectory中托管代码时,出现以下错误 第35行: 对象为空 最终,它似乎找不到自动生成的信号器/集线器文件 我有以下代码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
<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);
}