我知道這是一個在這裏經常被問到的問題,我已經嘗試了所有的答案,而且都沒有工作。當我使用Web服務時,我不會收到任何錯誤消息,並且它工作正常。但是我每天都會得到這個錯誤10-20次。所以有人會得到這個錯誤,但我不能重現它。請求格式無法識別的URL意外地以'/ MyWebService'結尾
這是錯誤堆棧跟蹤。任何幫助?
Exception stack trace:
at System.Web.Services.Protocols.WebServiceHandlerFactory.CoreGetHandler(Type type, HttpContext context, HttpRequest request, HttpResponse response)
at System.Web.Services.Protocols.WebServiceHandlerFactory.GetHandler(HttpContext context, String verb, String url, String filePath)
at System.Web.Script.Services.ScriptHandlerFactory.GetHandler(HttpContext context, String requestType, String url, String pathTranslated)
at System.Web.HttpApplication.MapHttpHandler(HttpContext context, String requestType, VirtualPath path, String pathTranslated, Boolean useAppConfig)
at System.Web.HttpApplication.MapHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
這是我如何調用Web服務:
$.ajax({
type: 'POST',
contentType: 'application/json; charset=utf-8',
url: 'MyWebService.asmx/MyWebService',
data: '{"id":"' + id+ '"}',
dataType: 'json',
success:
function(msg) {
// Do something
},
error:
function(XMLHttpRequest, textStatus, errorThrown) {
// Do something
}
});
這是我非常簡單的Web服務:
[WebMethod(EnableSession = true)]
public string MyWebService(int id)
{
return "Something";
}
UPDATE:
我在看我的記錄用戶代理始終是谷歌翻譯出現此錯誤時。
http://translate.googleusercontent.com/translate_c?hl=es&prev=/search?q=test&hl=es&client=safari&tbo=d&rurl=translate.google.es&sl=en&u=http://www.mydomain.com&usg=ALkJrhhcOM9LJgtG-RhFx1XSQw-g4h_tbQ
你知道我怎麼能停止?
您是否可以發佈錯誤消息,而不僅僅是堆棧跟蹤? – saintedlama
錯誤消息出現在標題'請求格式無法識別的URL意外地以'/ MyWebService'結尾。 – Martin
您能否在您的iis日誌中找到惡意請求並將它們與您的錯誤相關聯?也許有什麼東西搞亂你的網址 – saintedlama