由于ASPX重写,将不会执行信号器/集线器

时间:2018-10-01 14:13:04

标签: asp.net .net signalr signalr-hub

我有一个网站在webconfig中使用此重写规则

 <rule name="RewriteASPX">
      <match url="(.*)"/>
      <conditions logicalGrouping="MatchAll">
        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/>
        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true"/>
      </conditions>
      <action type="Rewrite" url="{R:1}.aspx"/>
    </rule>

我使用此规则,因此url无需扩展名为“ .aspx”。

不幸的是,这导致网站无法运行signalr / hubs脚本,我不知道为什么。每当我在启用此规则的情况下打开localhost / signalr / hubs”页面时,都会收到“协议错误:未知传输”的消息。

error

是否可以添加一条规则,以便我可以重写并仍然可以运行该脚本?

谢谢

1 个答案:

答案 0 :(得分:0)

通过添加此条件解决

<add input="{REQUEST_URI}" pattern="^/(signalr)" negate="true" />

资料来源:Cannot load signalr hubs file correctly after IIS rewrite(是的,我之前做过myresearch,但我错过了一些东西)