C# global.asax重写未实时工作
我已经在global.asax文件中实现了一个URL重写,它在我的机器上运行得很好,但在实时环境中却不能。你知道我该怎么解决这个问题吗?C# global.asax重写未实时工作,c#,.net,C#,.net,我已经在global.asax文件中实现了一个URL重写,它在我的机器上运行得很好,但在实时环境中却不能。你知道我该怎么解决这个问题吗? 感谢内置在Visual Studio中的web服务器使用ASP.NET引擎处理所有文件类型,但IIS仅使用ASP.NET引擎处理实际执行的文件类型 因此,global.asax文件中的应用程序\u BeginRequest事件(及类似事件)只发生在.aspx或.asmx等文件类型上,而不是.html、或等文件类型上。首先,请确保已将IIS设置为将所有相关URI
感谢内置在Visual Studio中的web服务器使用ASP.NET引擎处理所有文件类型,但IIS仅使用ASP.NET引擎处理实际执行的文件类型
因此,global.asax文件中的
应用程序\u BeginRequest
事件(及类似事件)只发生在.aspx
或.asmx
等文件类型上,而不是.html
、或等文件类型上。首先,请确保已将IIS设置为将所有相关URI传递给ASP.NET引擎。如果路径都以有限数量的所谓“扩展名”(例如,html、.png使URI看起来像一个具有文件扩展名的文件路径)结束,那么您只需要映射这个特定扩展名(从.aspx的扩展名复制粘贴)
如果您需要它来处理(或者至少检查一下它是否应该处理)更大范围的URI,那么您需要设置一个通配符处理程序。不同版本的IIS在执行此操作的方式上有所不同(更改发生时IIRC 5.0到6.0)。如果该版本在处理脚本映射(或7.0以后的“处理程序映射”)的对话框部分有输入通配符映射的位置,则使用该位置,如果没有,则为.*定义一个映射(不要担心句点,即使URI没有,它仍将匹配URI)
还有其他可能出错的事情,但这是你的出发点,如果不正确,肯定会导致这个问题