在我的应用程序中,mvc和web表单都存在。
但是当我打开任何.aspx
页面时,会在Application_Error
错误中抛出错误。
路径控制器' /WebResource.axd'未找到或未实现IController。
路径控制器' /ScriptResource.axd'没找到或没有 没有实现IController。
我尝试了所有这些方法,但它们都没有工作。
在RegisterRoutes方法的顶部添加。
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.IgnoreRoute("{*allaspx}", new { allaspx = @".*\.aspx(/.*)?" });
创建一个FileTypeConstraint类来检查文件ext。
public class FileTypeConstraint : IRouteConstraint
{
private readonly string[] MatchingFileTypes;
public FileTypeConstraint(string matchingFileType)
{
MatchingFileTypes = new[] { matchingFileType };
}
public FileTypeConstraint(string[] matchingFileTypes)
{
MatchingFileTypes = matchingFileTypes;
}
public bool Match(HttpContextBase httpContext, Route route, string parameterName, RouteValueDictionary values, RouteDirection routeDirection)
{
if (values["url"] != null)
{
string path = values["url"].ToString();
return MatchingFileTypes.Any(x => path.ToLower().EndsWith(x, StringComparison.CurrentCultureIgnoreCase));
}
else
{
return false;
}
}
并在顶部和底部添加了这一行
routes.MapRoute(
"Defaultaxd",
"{*url}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional },
new { myCustomConstraint = new FileTypeConstraint(new[] { "axd" }) }
);
尝试了所有这些链接。
Using URL Routing for Web Forms and StopRoutingHandler for Favicon