0

VS 2010 で非常に単純な Web メソッド呼び出しをセットアップしようとしていますが、惨めに失敗しています。VS2008でもまったく同じ設定が機能しますが、違いがどこにあるのかわかりません。コードは次のとおりです。

test.aspx ajax 呼び出し (ローカルホストなしでも試しました):

$(document).ready(function ()
{
    $("#btnAjax").click(function ()
    {
        var testData = "test";
        $.ajax({
            type: "POST",
            url: "http://localhost/test.aspx/Test",
            data: JSON.stringify({ test: testData }),
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (msg)
            {
                alert("ok");
            },
            error: function (xhr, err)
            {
                alert("readyState: " + xhr.readyState + "\nstatus: " + xhr.status);
                alert("responseText: " + xhr.responseText);
            }
        })
    });
});

test.aspx.cs (ブレークポイントはメソッドに到達しないことを示します):

    [WebMethod()]
    public static string Test(string test)
    {
        return "xyz";
    }

web.config (動作する VS2008 バージョンから取得しました):

<modules>
<remove name="ScriptModule"/>
<add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</modules>
<handlers>
<remove name="WebServiceHandlerFactory-Integrated"/>
<remove name="ScriptHandlerFactory"/>
<remove name="ScriptHandlerFactoryAppServices"/>
<remove name="ScriptResource"/>
<add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.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=3.5.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=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</handlers>

返される準備完了状態は常に 0 で、応答テキストは空です。firebug は正しいデータが投稿されたことを示し、応答タブにはページの html が表示されます。私はこれまで firebug デバッガーを使用する必要がなかったので、おそらくもっと調べるべきことがあります。コンソール/ネットは有効になっていますが、明らかなものは見当たりませんでした。

私はたくさん検索しましたが、役立つものやまだ試していないものは見つかりません。一言で言えば、他にどこを見ればいいのかわからない...

おそらく、最初にWCFサービスを実装しようとしたが、「認証に失敗しました」で失敗し続けたという事実が1つの指針になるかもしれません. WCF である必要はないので、最終的には基本、つまりこの単純な Web メソッドに戻ることにしました。それが認証の問題なのか、それとも何か他の問題なのかを確認する方法がわかりません。これがそうではないと思うのは、VS2008バージョンがまったく同じサーバーで動作するという事実です。

どんな提案でも大歓迎です。

4

1 に答える 1