manipulador personalizado trabalhando em servidor Desenvolvimento Asp.NET mas não no IIS 5.1?

StackOverflow https://stackoverflow.com/questions/729599

  •  05-09-2019
  •  | 
  •  

Pergunta

Oi, Ive tem um problema estúpido.

manipulador My Custom está trabalhando 100% no servidor Desenvolvimento Asp.NET mas quando eu publicar o site para IIS 5.1 Sempre que eu tento executar Comment / Procurar (que encontra um usuário através de uma chamada de AJAX) (eu sei que a nomeação do meu manipulador sux !!! :)

eu recebo este erro:

A página não pode ser exibida A página que você está procurando não pode ser exibida porque o endereço da página é incorreta.

Por favor, tente o seguinte:

* If you typed the page address in the Address bar, check that it is entered correctly.
* Open the home page and then look for links to the information you want.

HTTP 405 - Recurso não permitido Internet Information Services

Informações técnicas (para equipe de suporte)

* More information:
  Microsoft Support

Meu código para a chamada AJAX é:

 function findUser(skip, take) {

        http.open("post", 'Comment/FindUser', true);
        //make a connection to the server ... specifying that you intend to make a GET request
        //to the server. Specifiy the page name and the URL parameters to send
        http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        http.setRequestHeader('Criteria', document.getElementById('SearchCriteria').value);
        http.setRequestHeader("Skip", skip);
        http.setRequestHeader("Take", take);
        http.setRequestHeader("Connection", "close");

        //display loading gif
        document.getElementById('ctl00_ContentPlaceHolder1_DivUsers').innerHTML = 'Loading, Please Wait...<br /><img src="Images/loading.gif" /><br /><br />';

        //assign a handler for the response
        http.onreadystatechange = function() { findUserAction(); };

        //actually send the request to the server
        http.send(null);

}

Por favor, alguém pode ajudar-me ??

Foi útil?

Solução

Certifique-se de ter permitido a extensão no servidor IIS. O servidor de desenvolvimento faz isso automatially para você.

Se você abrir as propriedades do site, em seguida, ir para a guia Diretório e clique no botão de configuração.

De lá tentar adicionar a extensão que você está usando para o apontar manipulador. Definir o executável para o aspnet_isapi.dll (olhar para o extensão.ASPX padrão para encontrar onde ele está no seu computador) e desmarque a opção "Verificar esse arquivo existe".

Eu tenho sido queimado por isso um par de tempo e este classificados o problema

Colin G

Outras dicas

No IIS não todas as chamadas serão processadas pelo manipulador asp.net (ao contrário de Cassini o servidor de desenvolvimento) a menos que a chamada termina em aspx, .ashx etc. .NET isapi DLL não irá processar a chamada.

A pista está no

HTTP 405 - Recurso não permitido Internet Information Services

Você precisará também mapear o manipulador no web.config se não houver um arquivo .ashx correspondente no sistema de arquivos.

O problema foi que, quando eu estava chamando o manipulador no desenv. servidor que eu estava chamando-liek este

http.open("post", 'Comment/Rate', true);

porque no meu web.config i encarregou-o de pegar todos "Comment /" URLs e chamar o CommentHandler.ashx ao manipulador de-lo.

 <add verb="*" path="Comment/*" type="CoffeeMashup2.CommentHandler"/>

No entanto, por algum motivo no IIS que não funcionava então eu mudei a chamada acima para

http.open("post", 'CommentHandler.ashx/Rate', true);

e seu trabalhou%

100

graças a lot guys pela sua ajuda

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