Ich arbeite an einer Anwendung, die ASP.NET-Web-API, SignalR und AngularJS verwendet. Ui-Router wird verwendet und html5 Modus ist aktiviert.Kann Signal-Hubs-Datei nicht korrekt laden, nachdem IIS neu geschrieben
ich die web.config-Datei und die Rewrite-Regel bearbeitet haben, ist wie folgt:
<rule name="AngularJS Routes" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
<add input="{REQUEST_URI}" matchType="Pattern" pattern="api/(.*)" negate="true" />
<add input="{REQUEST_URI}" matchType="Pattern" pattern="signalr/(.*)" negate="true" />
</conditions>
<action type="Rewrite" url="/" />
</rule>
Alles funktioniert gut in Visual Studio localhost und die automatisch generierten signalr Naben-Datei erfolgreich geladen wird.
Das Problem ist, wenn ich die Anwendung auf dem Server (Windows Server 2008 R2) eingesetzt, und die Anwendung auszuführen, <script src="signalr/hubs"></script>
die Anforderung Hub keep Datei signalr mich Senden index.html zurück als Antwort, die ich der Grund denke möglicherweise ist diese Zeile von Code <add input="{REQUEST_URI}" matchType="Pattern" pattern="signalr/(.*)" negate="true" />
nicht richtig funktioniert, so wird die Anfrage in der Root-URL neu geschrieben.
Ich habe versucht, das Muster zu ändern, um "~/signalr /(.*)", "~/(signalr)" oder „~/signalr aber keines dieser Arbeit.
Jeder Vorschlag? Danke . im Voraus