8

私はSignalRC#で使い始めたばかりですが、興味深いようです。

ASP.NET Empty Web Application以下のチュートリアルを作成して従いました

MSDNの Getting Started with SignalRチュートリアルを見つけました。

チュートリアルに記載されているすべての手順を実行しました。で実行されている場合、ローカル マシンで動作するようASP.NET Development Serverです。

しかし、プロジェクトを自分にデプロイするとIIS7、機能しません。

フィドラーで確認したところ、html ページに含まれるすべてのスクリプト ファイルで 404 の結果が得られました。

これがフィドラーが示したものですここに画像の説明を入力

StackOverflow の投稿からいくつかの提案を見つけましたが、web.configファイルを変更しても機能しないようです。

最後に、SignalRweb.configの FAQ に従って変更しました。

これが私の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>.
4

3 に答える 3

1

IIS が拡張子のない URL を処理できなかった場合、404 エラーが発生することがあります。

http://support.microsoft.com/kb/980368

于 2013-11-18T19:40:46.297 に答える
1

IIS の設定に問題がある可能性があります。.js 拡張子の MIME タイプを追加してみてください。このリンクを参照してください

于 2013-09-03T21:27:39.457 に答える
0

MSDN の記事では、バージョン 2.0 で SignalR アプリケーションを作成する方法が示されています。ただし、signalr 1.0 と、おそらく古いバージョンの Visual Studio を使用しています。Visual Studio をアップグレードし、ナゲット パッケージ マネージャーを使用して Signalr 2.0 要件をプロジェクトに追加します。最初の試みとして、MVC の代わりに asp.net Web アプリケーションを使用する方が良いと思います (MSDN の記事として)。したがって、ルーティングの問題は発生しません。問題なくサンプルを実行できました。

于 2013-12-15T11:33:58.740 に答える