路由HTTP错误404.0 0x80070002
|
我已经在ASP.NET应用程序和IIS7的Dev计算机上创建了路由规则,一切正常。当我将解决方案部署到也具有IIS7的产品服务器时,访问URL时出现错误404(找不到页面)。也许有人可以指出问题出在哪里?
实际错误
HTTP错误404.0-找不到
您正在寻找的资源一直
已删除,更名或
暂时不可用。详细
错误信息模块IIS Web核心
通知MapRequestHandler
处理程序StaticFile错误代码
0x80070002请求的URL
http://xxx.xxx.xxx.xxx:80/pdf-button
物理路径
C:\\ www \\ pathtoproject \\ pdf-按钮登录
方法匿名登录用户匿名
我的实际代码
<add key=\"RoutePages\" value=\"all,-forum/\"/>
UrlRewrite.Init(ConfigurationManager.AppSettings[\"RoutePages\"]);
public static class UrlRewrite
{
public static void Init(string routePages)
{
_routePages = routePages.ToLower().Split(new[] { \',\' });
RegisterRoute(RouteTable.Routes);
}
static void RegisterRoute(RouteCollection routes)
{
routes.Ignore(\"{resource}.axd/{*pathInfo}\");
routes.Ignore(\"favicon.ico\");
foreach (string routePages in _routePages)
{
if (routePages == \"all\")
routes.MapPageRoute(routePages, \"{filename}\", \"~/{filename}.aspx\");
else
if (routePages.StartsWith(\"-\"))
routes.Ignore(routePages.Replace(\"-\", \"\"));
else
{
var routePagesNoExt = routePages.Replace(\".aspx\", \"\");
routes.MapPageRoute(routePagesNoExt, routePagesNoExt, string.Format(\"~/{0}.aspx\", routePagesNoExt));
}
}
}
}
没有找到相关结果
已邀请:
6 个回复
箩冀娥
文件中,现在一切在生产服务器上也可以正常工作。
财沟项胶
可以,但是会降低性能,甚至可能导致错误,因为现在所有已注册的HTTP模块都在每个请求上运行,而不仅仅是托管请求(例如.aspx)。这意味着模块将在每个.jpg .gif .css .html .pdf等上运行。 一个更明智的解决方案是将其包含在您的web.config中:
归功于他对Colin Farr的支持。在http://www.britishdeveloper.co.uk/2010/06/dont-use-modules-runallmanagedmodulesfo.html上查看有关此主题的文章。
乐遣杀屎
Global.ashx :(任何注释的唯一方法)
PassthroughRouteHandler.cs-这实现了从http://andrew.arace.info/stackoverflow到http://andrew.arace.info/#stackoverflow的自动转换,然后将由default.aspx处理:
踩什不
悸翠疮武昏
提孺局缎