我不能从路由系统中排除不存在的文件。我正在处理一个Web窗体场景中的代码:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.IgnoreRoute("{resource}.gif/{*pathInfo}");
routes.IgnoreRoute("{resource}.jpg/{*pathInfo}");
Route r = new Route("{*url}", new MyRouteHandler());
routes.Add(r);
}当我调试时
public IHttpHandler GetHttpHandler(RequestContext requestContext)
{
string path;
IHttpHandler page;
try
{
path = requestContext.RouteData.GetRequiredString("url");
LogFile(requestContext, path);
}路径仍然包含不存在的gif文件,jpg等,我想排除所有文件的扩展名,如果这是可能的
上面的代码有什么问题吗?顺序是否正确,即在向RouteCollections添加路由之前添加routes.IgnoreRoute条目?
发布于 2011-01-24 22:53:38
在Web Forms中,您可以使用StopRoutingHandler。在以下示例中,将忽略http://yoursite.com/images/xyz.jpg等/images文件夹中的文件的路由
routes.Add(new Route("images/{resource}", new StopRoutingHandler())); 发布于 2010-07-02 09:24:43
IgnoreRoute是ASP.NET的一种扩展方法( (System.Web.Mvc) -不适用于Web表单。
执行以下操作:
routes.Add(new Route("{resource}.gif/{*pathInfo}", new MyIgnoreHandler()));将您的其他路线映射到您的常规处理程序。
你应该去掉这个问题中的"mvc“标签。
https://stackoverflow.com/questions/3162570
复制相似问题