1

HTTP GET 要求を実行できる ASMX Web サービスを作成しようとしています。私がすでに行ったことを説明するために、次の簡単なコード スニペットがあります。

using System.Web.Script.Services;
...

[WebMethod]
[ScriptMethod(UseHttpGet = true)]
public string HelloWorld(HttpContext context)
{
 return context.Request.Params.Get("userId").ToString();
}

これに加えて、Web.config ファイルに次のノードも追加しました。

<webServices>
  <protocols>
    <add name="HttpGet"/>
    <add name="HttpPost"/>
  </protocols>
</webServices>

私が直面している問題は、System.Web.HttpContext cannot be serialized because it does not have a parameterless constructorこの Web サービスをデバッグしようとすると常に恐ろしい " " エラー メッセージが表示されることです。何が問題なのかわからないので、この窮地から抜け出すために提供された支援に本当に感謝しています. HTTP GET リクエストが非常に単純であることはわかっていますが、フラストレーションの原因が何なのかはよくわかりません。

4

1 に答える 1

4

私はあなたが欲しいと思います

[WebMethod]
[ScriptMethod(UseHttpGet = true)]
public string HelloWorld(int userId)
{
    return userId.ToString();
}

関数シグネチャでパラメーターを指定でき、Context必要に応じて (基本クラス WebService のプロパティ) として HttpContext にアクセスできます。

于 2010-06-25T16:15:13.317 に答える