2
有人可以解釋這個背後的原因或它是如何工作的?如果我在下面做一個WebInvoke,它會失敗(說方法不允許,但是如果我做了一個WebGet,它會通過)。我只是想明白爲什麼?爲什麼WebInvoke不允許使用此方法,但對於WebGet可以嗎?
[OperationContract]
[WebGet(UriTemplate = "login/{username}/{password}", ResponseFormat =
WebMessageFormat.Json)]
string Login(string username, string password);
上面的代碼,只是返回一個硬編碼的字符串。 (沒有條件邏輯)
你是什麼意思的客戶?我只是使用網址爲http:// localhost:8080/login/user/pass的網絡瀏覽器。 – Xaisoft 2010-09-30 23:07:47
@ Xaisoft,我相信喬恩有倒退,但他答案的實質是正確的。如果你只是通過瀏覽器訪問它,那當然是一個GET請求。默認情況下,WebInvoke只允許POST請求,因此在從瀏覽器訪問時會失敗。 – 2010-10-01 00:20:07
@ Xaisoft,Kirk:是的,我會誤解這個問題 - 現在我已經改寫了答案,以便更清楚一些。 – 2010-10-01 05:26:16