My SignalR Startup
- 类看起来像这样
namespace Website
{
public sealed class Startup
{
public void Configuration(IAppBuilder app)
{
app.MapSignalR();
}
}
}
所以 - 我打算使用默认路由
然后我在web.config中添加了一个模块(对于IIS 6和IIS 7)
<configuration>
<system.web>
<httpModules>
<add name="FooModule" type="FooNamespace.FooModule" />
</httpModules>
</system.web>
<system.webServer>
<modules>
<add name="FooModule" type="FooNamespace.FooModule" />
</modules>
</system.webServer>
</configuration>
我的处理程序中有一些异常 - 这不是问题所在,但它告诉我,处理程序也在SignalR管道中执行。
那么,location
- 标签是什么?
<location path="signalr">
<system.web>
<httpModules>
<remove name="FooModule" />
</httpModules>
</system.web>
<system.webServer>
<modules>
<remove name="FooModule" />
</modules>
</system.webServer>
</location>
我虽然很高兴...好吧,我仍然在SignalR管道中收到异常。
我甚至启用了FailedRequestTracing,以获取已执行模块的完整列表 - 并猜测...... FooModule
仍在显示。
所以,我的问题是:在提供SignalR请求时,如何从管道中删除某些模块?
答案 0 :(得分:0)
httpModules部分影响所有应用程序,它不会那样工作。
无论哪个处理程序被定向,模块都会针对所有请求运行。
您最好的选择是解决模块中的问题。