Pergunta

Eu estou tentando usar o jQuery para fazer algumas chamadas AJAX, mas porque eu tenho wild card (mapeamento para .NET) no IIS 6 ativado, ele parece não funcionar.Desactivar o mapeamento faz tudo magicamente funciona.

Eu coloquei o método de web atributo de métodos em um .página aspx e um .web service asmx, mas nem trabalho.Aqui é o URL de exemplo que estou usando para as chamadas AJAX:

localhost/UserChecker.aspx/CheckIfUserEmailsExists

localhost/UserChecker.asmx/CheckIfUserEmailsExists

Eu acho que deve ser algo com a forma .NET é a interpretação da URL, mas eu não sou inteiramente certo porque.Mais importante, eu não tenho certeza de como corrigi-lo, além de desabilitar o wild card mapeamento!Existe alguma outra forma???

ATUALIZAÇÃO

O CMS que eu estou usando (Kentico) faz algumas roteamento de URL, mas mesmo se eu ignorar o roteamento global.asax.cs código, ainda fico com um 404.
Obrigado antecipadamente!

Foi útil?

Solução

Com o mapeamento curinga no IIS, executará a solicitação inicial pelo manipulador curinga primeiro. Isso será feito antes de qualquer reescrita de URL (ou roteamento de URL) pelo seu CMS.

Eu acho que é por isso que você está recebendo 404.

Você também pode tentar desativar a caixa de seleção "Verificar arquivo existe" no mapeamento do curinga para atender ao cenário quando o URL real será reescrito posteriormente para outra coisa.

Outras dicas

Esta não é uma resposta completa, mas eu espero que ele aponta na direção de uma solução.

Você já tentou acessar a url diretamente no navegador e usando alguns bem colocados pontos de interrupção para rastrear o problema?

Se você está recebendo os 404 parece que as regras para o encaminhamento não estão funcionando.

[Eu vou atualizar isso se você pode dar um pouco mais de informações sobre o comportamento que você está vendo]

ATUALIZAÇÃO

Eu acho que o que pode estar acontecendo é isso:

Você está fornecendo um separado mapeamento para seus arquivos com extensões (nestes casos .aspx e .asmx):

localhost/UserChecker.aspx/CheckIfUserEmailsExists

localhost/UserChecker.asmx/CheckIfUserEmailsExists

Esses mapeamentos estão sendo usados quando você liga o wild card mapeamentos de fora, e o '/CheckIfUserEmailsExists' é tratado usado ou ignorado.Quando você ativar o curinga mapeamentos de seu encaminhamento não informar seu aplicativo como 'rota' corretamente.

Se você removeu as extensões (com curinga mapeamentos ativado) faz o seguinte trabalho?

localhost/UserChecker/CheckIfUserEmailsExists

Adicione os URLs apropriados à lista de exclusão: use a configuração "URLs excluídos" na guia Gerenciador do Site-> Configurações. (documentação básica de ajuda)

Sugiro verificar o URL fora da sua estrutura do CMS; A questão deve estar com o roteamento de URL. Sem tsure, como estava funcionando sem o mapeamento de curingas.

Perguntas a serem entendidas: 1. Você tem seu CMS em execução ao tentar sem mapeamento de curingas? 2. Como esse sistema CMS interage com o IIS; Iaspi dll? ou manipuladores/módulos HTTP?

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