Pergunta

Eu estou usando o framework SP1 .NET 3.5 e eu tenho implementado URL roteamento em meu aplicativo. Eu estava recebendo erros de javascript:

Error: ASP.NET Ajax client-side framework failed to load.
Resource interpreted as script but transferred with MIME type text/html.
ReferenceError: Can't find variable: Sys

O que eu acredito é porque o meu encaminhamento é pegar os arquivos AXD Microsoft e não corretamente enviando o javascript. Eu fiz alguma pesquisa e descobri que eu poderia usar Routes.IgnoreRoute, que deve permitir-me a ignorar o AXD como abaixo:

Routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

Mas, quando eu adicionar essa linha ao meu Global.asax eu recebo este erro:

CS1061: 'System.Web.Routing.RouteCollection' does not contain a definition for 'IgnoreRoute' and no extension method 'IgnoreRoute' accepting a first argument of type 'System.Web.Routing.RouteCollection' could be found (are you missing a using directive or an assembly reference?)

Eu tenho o namespace System.Web.Routing importado, todas as idéias?

Foi útil?

Solução

Você não precisa fazer referência ASP.NET MVC. Você pode usar os StopRoutingHandler que implementa IRouteHandler como assim:

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

Esta é parte do .NET 3.5 SP1 e não requer MVC. O método IgnoreRoutes é um método de extensão conveniência que faz parte da ASP.NET MVC.

Outras dicas

Uma questão de idade, mas no caso ele ainda ajuda a ninguém, isso funcionou para mim:

routes.Ignore("{resource}.axd/{*pathInfo}");

existir O método de "ignorar", ao passo que no padrão do ASP.NET o método "IgnoreRoute" parece não (isto é, não utilizando MVC). Isso vai atingir o mesmo resultado que o código do Haacked, mas é um pouco mais limpo ...

Eu gostaria apenas de acrescentar que você também precisa ter certeza da ordem de seus IgnoreRoutes regra é na ordem correta, caso contrário seu primeiro rota será aplicada pela primeira vez e seu IgnoreRoute vai ... bem ser ignorado.

MapRoute e IgnoreRoute são métodos de extensão em System.Web.Mvc --- você tem que assembly referenciado corretamente?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top