gpt4 book ai didi

c# - 为什么注册模块会禁用重写?

转载 作者:行者123 更新时间:2023-11-30 12:55:33 25 4
gpt4 key购买 nike

在我从 web.config 文件中删除我的 MyModule 模块后,rewrite 按预期工作。 MyModule 模块添加回 web.config 文件时,MyModule 模块按预期工作rewrite 没有发生。

网络配置:

  <system.webServer>
<rewrite>
<rules>
<rule name="rule_name" patternSyntax="ECMAScript" stopProcessing="true">
<match url="(.*)" />
<action type="Rewrite" url="http://localhost:7789/example/api/values" />
</rule>
</rules>
</rewrite>
<modules>
<remove name="MyModule" />
<add name="MyModule" type="My.Models.MyModule, Project1" />
</modules>
...

重写模块.cs:

namespace My.Models
{
public class MyModule: IHttpModule
{
public void Init(HttpApplication context)
{
context.BeginRequest += Context_BeginRequest;
}
public void Dispose()
{

}
private void Context_BeginRequest(object sender, EventArgs e)
{
// something is written here....
}
}
}

最佳答案

在 web.config 中 - 模块的 name 必须等于 type(直到 ,type ):

更改自:

<modules>
<remove name="MyModule" />
<add name="MyModule" type="My.Models.MyModule, Project1" />
</modules>

更改为:

<modules>
<remove name="My.Models.MyModule" />
<add name="MyModule" type="My.Models.MyModule, Project1" />
</modules>

关于c# - 为什么注册模块会禁用重写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47904204/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com