实施例: 在test.asp中,
Server.Execute("/test.aspx")
但是,如果在Web.Config中定义了aspx路径以触发dll中的处理程序,则Server.Execute()和Transfer()不能从传统的ASP文件中运行。
实施例: 在web.config中
<add name="test_*" verb="*" path="test.aspx" type="testhttphandler, {fully qualified dll name}">
*请注意,web.config中的路径定义方式没有任何问题。我只想展示一个例子,我为格式化道歉。
在test.asp中
Server.Execute("/test.aspx")
我收到错误:
Server object error 'ASP 0228 : 80004005'
Server.Execute Error
/test.asp, line 18
The call to Server.Execute failed while loading the page.
我知道有很多方法可以解决这个问题,但我想了解为什么这样做不起作用。我个人喜欢用尽可能少的文件保持简单,所以我探索了上面探讨的内容。如果您有任何见解,请告诉我。
谢谢!
答案 0 :(得分:1)
ASP-Classic(asp.dll)和ASP.Net(aspnet_wp.exe)使用不同的进程,Server.Execute尝试使用ASP-Classic解释器来...错误...解释ASP.Net,它不适合做。 Server.Execute尝试使用调用它的相同进程“执行”脚本:asp.dll。
Server.Transfer到aspx文件更有可能为您服务。
希望这是有道理的。