代码之家  ›  专栏  ›  技术社区  ›  Ben Hoffman

Resource.axd语法错误

c#
  •  4
  • Ben Hoffman  · 技术社区  · 15 年前

    我正在使用一个不使用MVC的ASP.NET网站的URL重写。该网站一直工作良好,我一直没有问题,直到今天,当我开始收到2个错误。据FireBug说,这两个错误都在WebResource.axd的第3行。这是文件中的第一行代码,该行只有以下内容:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    

    我该怎么解决这个问题?对我来说没什么意义。

    另外,我正在使用RouteCollection和iroutHandler。我以前指导我的网站是 http://www.4guysfromrolla.com/articles/051309-1.aspx

    我已经修复了我的2个链接,页面正常工作了大约一个小时,然后它又开始抛出错误,这一次似乎没有押韵或理由。我最大的问题是它没有任何意义。第一行的语法错误似乎是个奇怪的错误。

    1 回复  |  直到 15 年前
        1
  •  6
  •   Ben Hoffman    14 年前

    经过大量的挖掘和研究,我发现了它!我只需要在RegisterRoutes.cs文件中添加以下代码:

    routes.Add(new Route("{resource}.axd/{*pathInfo}", new StopRoutingHandler()));
    

    http://msdn.microsoft.com/en-us/library/cc668201.aspx . 这并不能真正解释它,但在做了一些挖掘后,我意识到我的问题是什么。它将IIS7生成的webresource.axd文件中的代码替换为我的默认未找到页NotFound.aspx。虽然上面的代码看起来会破坏一些东西,但实际上它通过阻止链接代码被覆盖来修复它