私は、SignalRを使用するAsp .Net 4.0フレームワーク上のWebアプリケーションに取り組んでおり、Nugetパッケージからインストールしています。ローカルでデバッグせずにアプリケーションをデバッグまたは実行すると、正しく動作します。ただし、本番サーバーにデプロイするとsignal/hubs
、httphandlersに動的に挿入されているファイルを見つけることができません。動的な性質のため、オンザフライで作成する必要があるため、作業ファイルをプロジェクトにコピーすることもできません。
私はファイルをロードする次の方法を試しました:
<script src="/signalr/hubs" type="text/javascript"></script>
<script src="signalr/hubs" type="text/javascript"></script>
そして、背後にあるコードでは:
ScriptManager.GetCurrent(Page).Scripts.Add(new ScriptReference("~/signalr/hubs"));
これらはすべてローカルで機能しますが、サーバーでは機能しません。HTMLでレンダリングされたパスは正しいように見えますが、そこにファイルがないため、404エラーが発生します。重要な場合、サーバーはアプリケーションに完全な信頼を与えており、アプリケーションはサブドメインを使用するIISの別のサイトでアプリケーションとして実行されています。