[英]404 error on signalr/hubs and on jquery scripts
我剛剛開始將SignalR
與C#一起使用,似乎很有趣。
我創建了一個ASP.NET Empty Web Application
並按照下面提到的教程進行操作
我在MSDN上找到了SignalR入門教程。
我已經完成了本教程中提到的所有步驟。 當它在ASP.NET Development Server
上運行時,它似乎可以在我的本地計算機上運行。
但是,當我將項目部署到IIS7
,它不起作用。
當我與小提琴手檢查時,它在html頁面中包含的所有腳本文件上都顯示404結果。
這是提琴手所顯示的
甚至我也從StackOverflow上的帖子中找到了一些建議,而當我更改web.config
文件時,該建議似乎也不起作用。
最后,我根據SignalR的FAQ修改了web.config
。
這是我的web.config文件:
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
</system.web>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
</modules>
</system.webServer>
</configuration>
Global.asax文件:
public class Global : System.Web.HttpApplication
{
protected void Application_Start(object sender, EventArgs e)
{
// Register the default hubs route: ~/signalr/hubs
RouteTable.Routes.MapHubs();
}
// Rest of the Methods(Session_Start,Application_BeginRequest..) are empty
}
我也變了
<script type="text/javascript" src="/signalr/hubs"></script>
至
<script type="text/javascript" src='<%= ResolveClientUrl("~/signalr/hubs") %>'></script>
和
<script type="text/javascript" src='<%= ResolveUrl("~/signalr/hubs") %>'></script>
他們似乎也不起作用。
請隨時詢問是否需要任何信息。
任何幫助,將不勝感激
更新資料
根據Aron的建議,對Global.asax
文件進行了以下更改
RouteTable.Routes.IgnoreRoute("Scripts/");
現在, jQuery
腳本似乎也正在加載和運行。
這是托管在IIS上的更新的錯誤消息,它來自“瀏覽器”窗口的“ Console
選項卡。
SCRIPT5022: SignalR: Error loading hubs. Ensure your hubs reference is correct, e.g. <script src='/signalr/hubs'></script>.
您的IIS設置可能有問題。 請嘗試為.js擴展名添加MIME類型。 引用此鏈接
當IIS無法處理擴展名較少的URL時,可能會發生404錯誤
MSDN文章演示了如何在2.0版中創建SignalR應用程序。 但是您使用signalr 1.0以及Visual Studio的較舊版本。 升級Visual Studio,並使用塊包管理器將Signalr 2.0要求添加到您的項目中。 我認為,第一次嘗試最好使用asp.net Web應用程序而不是MVC(如MSDN文章)。 這樣您就不會有路由問題。 我可以毫無問題地運行示例。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.