我正在使用ASP.NET Web API,SignalR和AngularJS处理应用程序。正在使用Ui-router并启用 html5模式。
我已经编辑了web.config文件,重写规则如下:
<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>
在visualstudio localhost中一切正常,自动生成的信号器集线器文件已成功加载。
问题是当我在服务器上部署应用程序(Windows Server 2008 R2)并运行应用程序时,<script src="signalr/hubs"></script>
请求信号器集线器文件继续向我发送index.html作为响应,我认为原因可能是这行代码
<add input="{REQUEST_URI}" matchType="Pattern" pattern="signalr/(.*)" negate="true" />
无法正常工作,因此请求正在重写到根URL。
我试图将模式更改为&#34;〜/ signalr /(.*)" ;,&#34;〜/(signalr)&#34;或&#34;〜/ signalr但这些都不起作用。
有什么建议吗?提前谢谢。
答案 0 :(得分:1)
使用以下内容,应该可以解决这个问题:
public enum Field {
...
public String moveMouse(Robot robot) {
return robot.moveMouse(x, y);
}
public String clickLeft(Robot robot) {
return robot.clickLeft();
}
}