2009-02-26 6 views
2

J'ai emprunté le code suivant pour essayer de faire un travail de service WCF ajax activé depuis que je continué à obtenir la méthode 405 erreur non autorisée:405 méthode erreur non autorisée lorsque vous essayez d'afficher au service Web

$('#btnSave').click(function (e) { 
    $.ajax({ 
    type: "POST", 
    url: "AjaxWcf.svc/ConnectionTest", 
    contentType: "application/json; charset=utf-8", 
    data: '{"name":"Elemenex"}', 
    dataType: "json", 
    success: function (msg) { 
     alert(msg.d); 
    }, 
    error: AjaxFailed 
    }); 

    function AjaxFailed(result) { 
    alert(result.status + ' ' + result.statusText); 
    } 
}); 

En le code-behind service que je donne les résultats suivants:

<OperationContract()> _ 
<WebInvoke(Method:="POST")> _ 

Public Function ConnectionTest(ByVal name As String) As String 
    Return String.Format("Hello {0}", name) 
End Function 

J'ai vu cherché jusqu'à & le filet tout au jour le jour en essayant de trouver ce que la question pourrait être. J'ai vu des messages où .svc n'est pas mappé avec le verbe POST dans IIS. Ce n'est pas sur mon PC de développement mais sur le serveur. Les deux donnent les erreurs 405.

Est-ce que cela peut avoir quelque chose à voir avec les verbes autorisés dans le web.config?

J'ai un beau site allant jusqu'à présent & ayant ce travail (et bientôt) fera vraiment bonne impression.

Merci!

Répondre

1

Vous devez ajouter cet attribut à votre méthode:

ScriptMethodAttribute 
+0

Ceci est travaillé pour l'exemple et avec quelques ajustements aussi pour ce que je devais travailler ainsi que... – wali

1

Avez-vous cette ligne dans votre modèle de service web.config?

<serviceHostingEnvironment aspNetCompatibilityEnabled="true"> 
</serviceHostingEnvironment> 
+0

Oui ce paramètre est réglé à true ... – wali

Questions connexes