我尝试了一些使用http处理程序的工作,发现我们无法执行.asp文件并采用了httpmodule路由。
我在虚拟目录上有一个httpnet模块,这是一个dotnet应用程序。一旦请求来到dotnet http模块,我想重定向到asp文件,这是基于.net中某些逻辑的根文件夹。
我不想在这里使用response.redirect,这是主要的事情
根/ dotnetapplication。
dotnet应用程序具有以下代码。
application.Context.RewritePath("http://localwww.test.com/main.asp", false);
这会抛出以下异常
'
http://locwww.test.com/main.asp' is not a valid virtual path.
[HttpException (0x80004005): 'http://locwww.allposters.com/main.asp' is not a valid virtual path.]
System.Web.VirtualPath.Create(String virtualPath, VirtualPathOptions options) +8855691
System.Web.HttpContext.RewritePath(String path, Boolean rebaseClientPath) +116
ADC.Web.Code.ApcUrlRewriteModule.UrlRewriteModule_BeginRequest(Object sender, EventArgs e)
System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +68
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75
非常感谢您的帮助。
答案 0 :(得分:1)
.ASP
传统上不是.NET应用程序页面,除非您重新配置了.ASP
扩展名。
我的猜测是你没有启用.ASP
,服务器认为“main.asp”是一个虚拟目录而不是.ASP页面:
答案 1 :(得分:0)
这意味着您只能重写到另一个虚拟路径,即/somefolder/somefile.asp或aspx等等。
如果要从其他服务器执行asp页面并仅提供它生成的内容,则需要“代理”该页面。这可以是一个.aspx页面,它为asp.net提供远程请求或代理模块。我不知道,但我猜有一个。