2014-02-28 61 views
1

好吧,這似乎是一個關於通過VS2012(它運行良好)運行與一旦部署在本地win7 IIS 7.5機器之間的區別的問題。部署之後SignalR hub未定義(通過VS2012工作)

NB - 通過提琴手最終運行的呼叫到/ signalr /集線器返回一個404

在javascript所報告的錯誤是:

messageHub is undefined 

其中

var messageHub = $.connection.startHub; 

和在我的集線器類

[HubName("startHub")] 
public class ourHub : Hub 
{ 
    .... 

我在應用程序啓動

protected void Application_Start(object sender, EventArgs e) 
    { 
     //Required for SignalR 
     RouteTable.Routes.MapHubs(); 
    } 

調用MapHubs和我有RAMFAR(runAllManagedModulesForAllRequests = 「真」>)在web.config中設置...

<system.webServer> 
<validation validateIntegratedModeConfiguration="false" /> 
    <modules runAllManagedModulesForAllRequests="true"> 
    <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" preCondition="managedHandler" /> 
    <add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" preCondition="managedHandler" /> 
    <add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" preCondition="managedHandler" /> 
</modules> 

的問題似乎是我如何定義自動生成的信號/集線器

它是一個asp.net應用程序(而不是mvc),故障排除頁面(https://github.com/SignalR/SignalR/wiki/Faq)似乎說明

<script type="text/javascript" src='<%= ResolveClientUrl("~/signalr/hubs") %>'></script> 

這在調試既不作品通過VS或部署 的時候我也試過

<script src="/signalr/hubs"></script> (also with the type declaration) 
<script src="~/signalr/hubs"></script> 

在已經提到應用修補程序http://support.microsoft.com/kb/980368其他類似的線程,但Win7的下載狀態,他們不適用於我的電腦...

NB SignalR版本是1.1.3。

我也下載了StockTicker應用程序,它再通過VS正常工作,但在部署時報告相同的基本問題,因爲$ .connection.stockTickerMini是不確定的

非常感謝:)

回答

0

好,在經過振鈴器並發現沒有錯誤之後(並創建其他自動生成的中心,並得到相同的最終結果),我斷定這是「其中的一個」錯誤,也可能根本不是中心。 因此,我因此完全釋放SignalR,並通過nuget重新添加。這一次我沒有得到404,但是它的自身產生了一個錯誤(與SignalR沒有任何關係),並且一旦排序完成,一旦部署完成,它們都會一起掛載到調試和(非常重要的!)中。

希望我知道什麼是根本原因,但刪除任何SignalR相關和重新添加似乎做伎倆...