我开发了在Framework 4.0上运行的应用程序。它在我的本地计算机和IIS 7.0上工作正常但它无法在IIS 6.0上运行。我收到了以下错误
{"Message":"An attempt was made to call the method \u0027SendMailMessage\u0027 using a GET request, which is not allowed.","StackTrace":" at System.Web.Script.Services.RestHandler.GetRawParams(WebServiceMethodData methodData, HttpContext context)\r\n at System.Web.Script.Services.RestHandler.ExecuteWebServiceCall(HttpContext context, WebServiceMethodData methodData)","ExceptionType":"System.InvalidOperationException"}
我在代码背后的代码中设置了以下属性。
[WebMethod]
[ScriptMethod(UseHttpGet = false)]
我的Jquery方法
setTimeout(function() {
$.ajax({
cache: false,
type: "POST",
url: "Test.aspx/TestMethod",
contentType: "application/json; charset=utf-8",
dataType: "json",
async: false,
data: JSON.stringify({
"strSubmitDate": $("#txtDate").val()
}),
success: function (data) {
alert(data.d);
$("#floatingBarsG").hide();
},
error: function (xhr, ajaxOptions, thrownError) {
//debugger;
alert(xhr.responseText);
}
});
}, 2000);
任何帮助表示感谢...提前致谢
答案 0 :(得分:0)
我记得走进类似的场景,但在我的情况下,问题是由生产主机阶段的共享环境引起的。无论方法是作为POST发送的,主机总是通过GET进行重定向,最后由于这一点我总是收到403.
我也发现了它,IIS 4和5中的相关错误。 http://support.microsoft.com/kb/216493