ошибка веб-службы неожиданно заканчивается - PullRequest
3 голосов
/ 08 декабря 2011

Я получил следующую ошибку при вызове веб-службы на IIS7, 64-разрядная версия, Win Server 2008:

Формат запроса не распознается для URL, неожиданно заканчивающегося на '/getTopSixNewsByType'.

.

Совершенно нормально, когда веб публикуется на другом сервере, который является IIS6, 32-разрядный.

Я пытался поставить

<configuration>
    <system.web>
    <webServices>
        <protocols>
            <add name="HttpGet"/>
            <add name="HttpPost"/>
        </protocols>
    </webServices>
    </system.web>
</configuration>

в web.config, но это не сработало.

Вызов

 $.ajax({
     type: "POST",
     url: "/WebServices/NewsWS.asmx/getTopSixNewsByType",
     data: "{type:'1'}",
     contentType: "application/json; charset=utf-8",
     dataType: "json",
     beforeSend: Loading,
     success: Success,
     error: Error
 });

 function Loading() {
     $('#gonggao').html('<img src="/Image/loader.gif"/>');
 }

 function Success(data, status) {
     $("#gonggao").setTemplateURL('/IndexPage/indexNews.htm');
     $('#gonggao').processTemplate(data.d);

 }

Может ли кто-нибудь помочь мне, спасибо !!


Код в asp.net 4.0


Позже я обнаружил еще одно сообщение об ошибке:

Неверный формат запроса: application / json; кодировка = UTF-8 * +1026 *

И решил это с добавлением следующего в web.config

<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="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
...