不能通过Server.Execute()执行文件
本文关键字:执行 文件 Execute Server 不能 | 更新日期: 2023-09-27 18:05:14
我想在子网站中执行一个文件。父站点和子站点都是web应用程序。我不想重定向到子网站文件。我正在尝试使用Server.Execute()执行子文件,但它不工作。
主URL为:http://mysite.com/subsite
子站点文件的虚拟路径:~/subsite/subfile.aspx
当我访问http://mainsite.com/subsite/subfile.aspx时,它工作正常。当我做
Server.Execute("~/subsite/subfile.aspx")
从父站点,我得到:
Could not load type 'Subsite.SubFile'.
你知道我做错了什么吗?
我很确定server.execute
不会跨越应用程序边界。我不是百分之百确定;但考虑到错误信息,这似乎是可能的。
基本上错误是说它无法定位(或加载)Subsite.SubFile
类定义的程序集。
我能想到两种可能的解决办法。
-
将子站点的程序集复制到主站点bin文件夹中。此可能有效,因为主站点随后可以定位程序集并执行代码。这里有明显的缺点。例如需要将所有的配置信息从子站点复制到主站点的web.config。此外,任何具有相同名称的程序集都是有问题的;当然,每次有更新时都需要在主站的顶部部署子站…
-
不做
server.execute
;使用HttpRequest
类对子站点进行常规http调用,然后解析响应并将所需内容写回浏览器。