2

我的问题是如何管理位于同一主机上的多个虚拟应用程序

firstdomain.com 被重定向到 firstdomain.com/1 seconddomain.com 被重定向到 seconddomain.com/2 等等......每个新域必须位于不同的文件夹中,现在它工作正常。但这会造成一些不便,例如 seconddomain.com/1 显示的是 firstdomain.com 网站。

我正在尝试在根目录“/”创建类似调度的内容,以使用 Server.Transfer("") 传输必要的域。

但它不像我想的那样工作:

Server.Transfer("/" + folder + "");

导致此错误:

“/”应用程序中的服务器错误。执行 /web_folder 的子请求时出错。

说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.Web.HttpException:执行 /web_folder 的子请求时出错。

Server.Execute("/" + folder + "");

也会导致错误:

执行 /web_folder 的子请求时出错。

说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.Web.HttpException:执行 /web_folder 的子请求时出错。

这两个应用程序都可以通过其指定的 url 正常访问。

并且两个应用程序也存在问题,如果我从根 web.config 使用 HttpModules,它会导致虚拟应用程序内部的编译错误。如果我在虚拟站点中添加对同一项目的引用,它可能会通过。

有什么建议么 ?

我认为必须有任何解决方案,很多人需要将任何子域重定向到没有重定向的子文件夹,以保留原始 URL dsplay

谢谢。

4

2 回答 2

2

您不能Server.Transfer访问托管在 IIS 中与执行请求的虚拟目录不同的虚拟目录的应用程序。

于 2009-12-04T07:53:23.737 回答
0

Server.Transfer 只能发生在单个 HttpContext 上。每个虚拟目录或应用程序都有自己的 HttpContext 对象,他们不知道它们是共存的!所以你不能那样做。

于 2009-12-04T08:04:39.290 回答