在A"网站"中运行自定义C#代码来自IIS"应用程序"

时间:2015-05-11 15:10:53

标签: c# iis-6

我在这里有一个棘手的问题,我想挖掘群众的智慧,以确保我以最有效的方式处理这个问题。

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

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

我们考虑删除每个应用程序中的文件以强制IIS返回404. 404发生后,我们想要运行我们的自定义实用程序来查找等效的URL。由于404是"错误"从各方面来看,我们都在想,我们可以“处理”#34;像这样的错误(ASP.NET 2.0 : Best Practice for writing Error Page

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

1 个答案:

答案 0 :(得分:0)

@Carl

非常感谢你。我最初错过了为此我可以获得的那些变量!对我来说,最终的解决方案是将" Redirect设置为"文本框到" http://xxx2.blah.com $ V?UpdateNote = true& $ P"。这使得路径和查询字符串名称/值对完成重定向,并允许我附加我自己的值,以便应用程序可以检测到它并显示一个"此页面已移动"给用户的消息。

谢谢卡尔!你这个人。