use*_*590 36 asp.net iis signalr
我正在尝试在IIS上部署SignalR站点.代码一切正常VS. 但到目前为止,我尝试解决信号器/集线器的404找不到错误.
1)更改脚本参考:
script src="<%= ResolveUrl("~/signalr/hubs") %>" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)
2)修改Web.Config包括:
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules runAllManagedModulesForAllRequests="true">
</modules>
</system.webServer>
Run Code Online (Sandbox Code Playgroud)
3)更改IIS上的调用请求UrlMappingsModule.
4)添加SignalR.Hosting.AspNet.dll,看看是否会有所帮助.
不知道还有什么可以尝试或检查,任何帮助或指向正确的方向?
Sim*_*onF 30
路线登记的顺序很重要.我有这个确切的问题并通过确保我的global.asax.cs看起来像这样修复它:
public class MvcApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
RouteTable.Routes.MapHubs();
WebApiConfig.Register(GlobalConfiguration.Configuration);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
}
}
Run Code Online (Sandbox Code Playgroud)
这是在一个使用SignalR,MVC和WebApi的网站上.
Cha*_*ari 19
这个404错误的原因是没有映射集线器,以前必须按照SimonF的回答完成.如果您使用SignalR版本2 RouteTable.Routes.MapHubs();现已过时.对于映射中心,您可以创建如下的启动类.
[assembly: OwinStartup(typeof(WebApplication1.Startup))]
namespace WebApplication1
{
public class Startup
{
public void Configuration(IAppBuilder app)
{
// Any connection or hub wire up and configuration should go here
app.MapSignalR();
}
}
}
Run Code Online (Sandbox Code Playgroud)
参考:http://www.asp.net/signalr/overview/releases/upgrading-signalr-1x-projects-to-20
chr*_*dam 13
尝试将通配符应用程序映射添加到服务器,以帮助在脚本URL"〜/ signalr/hubs"中映射未知扩展名
如果您正在处理网络表单,请执行以下步骤
在webconfig中:
<validation validateIntegratedModeConfiguration="false" />
<modules runAllManagedModulesForAllRequests="true"/>
Run Code Online (Sandbox Code Playgroud)在页面中添加对hub的引用
<script src="/signalr/signalr/hubs"></script>
Run Code Online (Sandbox Code Playgroud)
代替
<script src="/signalr/hubs"></script>
Run Code Online (Sandbox Code Playgroud)通过将 web.config 中的以下 appSetting 更改为“true”,我能够修复 ~/signalr/hubs 上的 404。
<add key="owin:AutomaticAppStartup" value="false" />
Run Code Online (Sandbox Code Playgroud)