在 IIS "Application"的"Web Site"中运行自定义 C# 代码



我在这里有一个棘手的问题,我想利用群众的智慧,以确保我以最有效的方式解决这个问题。

目标:将78个Web应用程序(全部配置为根网站下的IIS应用程序配置为IIS应用程序)从Windows Server 2003 Box移至2012盒,并尽可能少编码。2012框具有不同的子域" xxx2.blah.com",03服务器映射到" xxx.blah.com"服务器。简而言之,一旦我们迁移,用户书签就无法正常工作,因此我们想编写一个重定向实用程序,以帮助将用户访问新的XXX2.Blach.com位置,而无需注意。

当前状态:重要的是要注意,IIS6中的root网站下的每个应用程序都配置为按其自己的,有时是共享的应用程序池运行。某些应用程序的询问值附加到了我们要保留的.NET请求末尾,因为它影响了已经编码的UI和其他业务逻辑。

我们正在考虑将每个应用程序中的文件删除,以迫使IIS返回404。404发生后,我们希望运行自定义实用程序以查找同等的URL。由于404是所有意图和目的都是"错误",因此我们认为我们可以"处理"这样的错误(ASP.NET 2.0:写入错误页面的最佳实践)

是否可以编写一次代码,将逻辑添加到root网站中的global.asax文件中,然后以某种方式指示该根网站下的每个Web应用程序以在父站点中执行代码?我知道他们每个人都在自己的应用程序池下运行,这可能意味着我们不能轻松地将执行权转移到另一个应用程序上,但我可能是错误的。此外,我们希望不必复制/粘贴代码78次。任何一般的"最佳实践"或建议将不胜感激。另外,在网络上调整它不是一个选项,因为旧的xxx.blah.com与新的xxx2.blah.com网络完全不同。

@carl

非常感谢。最初,我错过了为此目的可以使用的这些变量!对我来说,最终的解决方案是将"重定向"的文本框设置为" http://xxx2.blah.comqum offect?updateNote = true& $ p"。这使重定向既可以触发路径和Querystring名称/值对,也使我可以附加我自己的值,以便该应用程序可以检测到它并显示"此页面已移动"消息给用户。

谢谢卡尔!你是男人。

最新更新