[英]/signalr/hubs 404 not found when deployed to local IIS server, works on IIS express + signalr 1.0
我正在 ASP.net 上編寫 angularJS 單頁應用程序,使用 signalR 與托管在 ZAEA23489CE3AACD93068E 上的服務器通信。 它通過 Visual Studio 在 IIS express 上完美運行,但在部署到本地 IIS (10.0) 時無法正常工作。 我已經嘗試解決這個問題兩天了,但我絕對無處可去。 我還使用生成的集線器代理。 這是我嘗試過的:
-安裝ASP.net
- 確保所有 IIS/.NET 功能都安裝在 Windows 服務器上
- 驗證應用程序池是 .net 4.0 集成
這是我的啟動 class:
using System;
using System.Threading.Tasks;
using Microsoft.AspNet.SignalR;
using Microsoft.Owin;
using Owin;
[assembly: OwinStartup(typeof(Quoting.Startup))]
namespace Quoting
{
public class Startup
{
public void Configuration(IAppBuilder app)
{
var hubConfiguration = new HubConfiguration();
hubConfiguration.EnableDetailedErrors = true;
hubConfiguration.EnableJavaScriptProxies = true;
app.MapSignalR();
System.Diagnostics.Debug.WriteLine("SignalR Mapped");
}
}
}
我已經嘗試了以下每一個,加上舊版本 MVC 的所有可能組合,這不是我什至編程的......
<script src="/signalr/hubs"></script>
<script src="~/signalr/hubs"></script>
<script src="signalr/hubs"></script>
<script src="/hubs"></script>
<script src=".../signalr/hubs"></script>
<script src="{{appname}}/signalr/hubs"></script>
我的 web.config 中有這個:
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules runAllManagedModulesForAllRequests="true">
</modules>
</system.webServer>
Jquery:
<script src="Scripts/jquery-3.4.1.js"></script>
<script src="Scripts/jquery.signalR-2.4.1.min.js"></script>
<script src="Scripts/jquery.signalR-2.4.1.js"></script>
<script src="/signalr/hubs"></script> //note: this is what works on IIS express
我很迷茫。 當我在瀏覽器中輸入“localhost:port/signalr/hubs”時,我在 IIS express 上得到響應。 但是,對我的域執行此操作時,'{domainname}/directory/signalr/hubs' 得到 404 未找到,並且我能想到的每個組合也將返回 404。
已解決:列出了我的目錄結構,以便 IIS 指向一個名為“網站”的文件夾,在此文件夾中,我有不同 web 應用程序的子目錄。 當應用程序放置在這些子目錄之一中時,在打開網站時不會調用 startup.cs。 因此,我需要更改我的代碼,以便單頁應用程序只是在“網站”文件夾中,並且可以路由到單獨的應用程序。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.