x1c 0d1x嗨Maven我有一个问题
当我在本地计算机上尝试我的Web服务时,它工作正常
但是在我上传它并在托管服务器上运行windows server 2008 r2 asp.net 4. 0之后
我收到一个错误,类似于无法识别以/setmylocation结尾的URL的此请求格式
我试过这些解决方案
<system.webServer>
<handlers>
<add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</handlers>
</system.webServer>
<configuration>
<system.web>
<webservices>
<protocols>
<add name="HttpGet"></add>
<add name="HttpPost"></add>
</protocols>
</webservices>
</system.web>
</configuration>
and here is my client side code
$.ajax({
type: "POST",
url: "locations.asmx/setmylocation",
data: "{proid: '" + proid + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
var urloc = response.d;
if (urloc[0].LATITUDE == '') {
initializemap(14.001424154457723, 121.1032415625, 7);
} else {
initializemap(urloc[0].LATITUDE, urloc[0].LONGITUDE, 10);
}
},
failure: function (response) {
alert(response.d);
}
});
我尝试了一切,但问题仍然存在,希望得到问题的答案
谢谢你
上图显示其他Web服务调用正常
和elmah.axd中的错误
System.InvalidOperationException: Request format is unrecognized for URL unexpectedly ending in '/setmylocation'.
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.MaterializeHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
2条答案
按热度按时间kulphzqa1#
在我的例子中,我不相信除了setmylocation之外,对Web服务的所有其他调用都是正常的,所以我怀疑这是否是www.example.com安装中的问题asp.net以及web.config中缺少配置,所以我所做的是在我的浏览器示例www.example.com上执行Web服务sample.com/webservice.asmx/setmylocation?id=1,然后它向我显示错误
所以,如果有人读到这篇文章,你也遇到了同样的问题,我希望它能帮助你
esbemjvw2#
. NET连接的Web服务支持HTTP GET、HTTP POST和SOAP协议。默认情况下,在.NET Framework 1.0中,这三种协议都是启用的。默认情况下,在.NET Framework 1.1中,HTTP GET和HTTP POST都是禁用的。这是出于安全原因。
SMALL BLOG