0

我想在子站点中执行文件。父站点和子站点都是 Web 应用程序。我不想重定向到子站点文件。我正在尝试使用 Server.Execute() 执行子文件,但它不起作用。

主要网址是: http: //mysite.com/subsite

子站点中文件的虚拟路径:~/subsite/subfile.aspx

当我访问http://mainsite.com/subsite/subfile.aspx时,它工作正常。当我做

Server.Execute("~/subsite/subfile.aspx")

从父网站,我得到:

Could not load type 'Subsite.SubFile'.

任何想法我做错了什么?

4

1 回答 1

1

我很确定server.execute不会跨越应用程序边界。我不是 100% 确定这一点。但鉴于错误消息似乎很可能。

基本上错误是说它无法找到(或加载)Subsite.SubFile定义类的程序集。

我可以想到两种可能的解决方案。

  1. 将子站点的程序集复制到主站点 bin 文件夹中。这可能会起作用,因为主站点随后可以找到程序集并执行代码。这里有明显的缺点。例如需要将子站点中的所有配置信息复制到主站点 web.config 中。此外,任何具有相同名称的程序集都会有问题;当然,每次有更新时都需要在主站点之上部署子站点......

  2. 而不是做一个server.execute; 使用HttpRequest该类对子站点进行常规 http 调用,然后解析响应并将您需要的内容写回浏览器。

于 2013-03-21T19:20:26.673 回答