我正在寻找一个解决方案,让我可以使用各种程序集中定义的新页面更新asp.net网站,而不会卸载主appdomain(即xcopy到/ bin将无效)。
虽然跨appdomain调用对我来说似乎很清楚,但是有可能将另一个appdomain中的System.Web.UI.Page“提供”给提供ASP.NET请求的appdomain吗?
搜索构建提供程序,虚拟路径提供程序和应用程序域让我想到,与任何辅助应用程序域或自定义构建提供程序实现的工作和潜在不稳定性相比,主应用程序域重新启动可能可以忽略不计。
感谢您的想法!
答案 0 :(得分:0)
我认为这不像你怀疑的那样相当。我已经使用跨AppDomain调用Outlook加载项来动态加载不同的版本,并没有多少。我没有在ASP.NET中完成它,所以不知道你可能会陷入什么陷阱。
就个人而言,我会探讨两个选择:
编辑:为了详细说明选项1,我正在考虑使用PageHandlerFactory类。 http://msdn.microsoft.com/en-us/library/system.web.ui.pagehandlerfactory.aspx本文特别感兴趣的是注释“要构建自定义页面处理程序工厂,实现IHttpHandlerFactory并在http.andler元素中的应用程序的Web.config文件中注册自定义PageHandlerFactory类(ASP .NET设置架构)配置部分。“
换句话说,如果你实现自己的PageHandlerFactory,你应该能够处理你想要的页面请求,包括将请求交给另一个AppDomain。