gestionnaire personnalisé de travail sur le serveur Asp.NET développement mais pas sur IIS 5.1?

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

  •  05-09-2019
  •  | 
  •  

Question

Salut les gars, Ive a obtenu un problème stupide.

Mon gestionnaire personnalisé fonctionne 100% sur le serveur Asp.NET développement, mais quand je publierai le site à IIS 5.1 à chaque fois que je tente d'exécuter Commentaire / Find (qui trouve un utilisateur via un appel AJAX) (je sais que la nomination de mon gestionnaire sux !!! :)

Je reçois cette erreur:

La page ne peut être affichée La page que vous recherchez ne peut pas être affichée car l'adresse de la page est incorrecte.

S'il vous plaît essayez ce qui suit:

* 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 - Ressource non autorisés Internet Information Services

Informations techniques (pour le personnel de soutien)

* More information:
  Microsoft Support

Mon code pour l'appel AJAX est:

 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);

}

S'il vous plaît quelqu'un peut me aider ??

Était-ce utile?

La solution

Assurez-vous que vous avez autorisé l'extension sur le serveur IIS. Le serveur de développement le fait automatially pour vous.

Si vous ouvrez les propriétés du site Web puis passez à l'onglet Répertoire, puis cliquez sur le bouton de configuration.

Essai y ajoutant l'extension que vous utilisez pour le pointage de gestionnaire. Réglez l'exécutable sur le aspnet_isapi.dll (voir l'extension standard .aspx pour trouver où il est sur votre ordinateur) et décocher la case « Vérifier que le fichier existe ».

Je suis brûlé par ce quelques temps et ce problème trié

Colin G

Autres conseils

Sur IIS ne sont pas tous les appels seront traités par le gestionnaire de asp.net (contrairement à cassini le serveur de développement) à moins que l'appel se termine en .aspx, etc. .ashx la dll ISAPI .NET ne traitera pas l'appel.

L'indice est dans le

HTTP 405 - Ressource non autorisée des services Internet

Vous devez mapper aussi le gestionnaire dans le web.config s'il n'y a pas un fichier .ashx correspondant dans le système de fichiers.

Le problème est que quand je l'appelais le gestionnaire sur le dev. serveur j'ai appelé il liek cette

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

parce que dans mon web.config je l'a chargé d'attraper tous « Commentaire / » urls et appelez le CommentHandler.ashx au handler il.

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

Cependant, pour une raison quelconque dans IIS il n'a pas fonctionné alors j'ai changé l'appel ci-dessus pour

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

et son travaillé 100%

Merci beaucoup les gars pour votre aide

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top