0

私はOperationContract自分のWCFサービスをフォローしています。HttpContext.Current.Request.Form["param"]送信されたデータを取得するために使用します。

 [OperationContract]
 [WebInvoke(Method = "POST", ResponseFormat = WebMessageFormat.Json)]
 public string authenticateUser()

私のservice.svcファイルには<%@ ServiceHost Language="C#" Debug="true" Service="service.login" Factory="System.ServiceModel.Activation.WebScriptServiceHostFactory" %>

そして、POST パラメーターが null として表示されるようになりました。フィドラーを使用してリクエストを検査しました。

この方法は、VS 2012 に移行するまで何週間も機能していました (これが私が行った唯一の変更です)。ホストされている Azure アプリケーションも正常に機能します。

POST データを取得する他の方法はありますか? 前もって感謝します。

4

1 に答える 1

0

これについての2つの考え

1)このようにメソッドのパラメーターを渡さないのはなぜですか?

[OperationContract]
[WebInvoke(Method = "POST", ResponseFormat = WebMessageFormat.Json)]
public string authenticateUser(string param)

または

2)それがあなたの選択肢ではない場合、この属性を配置すると、フォーム変数が利用できるように通常のASP.NETパイプラインが有効になるのではないかと思います

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
于 2012-11-24T18:37:46.440 に答える