11

AJAX と C# アプリケーションの両方で WCF サービスを
使用しています。HTTP 要求ヘッダーを介してパラメーターを送信する必要があります。

私のAJAXでは、次のものを追加しましたが、動作します:

$.ajax({
    type: "POST",
    url: this.tenantAdminService,
    beforeSend: function (req, methodName)
    {
        req.setRequestHeader("AdminGUID", adminGuid);
    }

WCF サーバー側では、次のようにしてヘッダーを取得します。

string adminGUID = System.Web.HttpContext.Current.Request.Headers["AdminGUID"];

C#に相当するものは何ですか? WCF サーバーでも使用される http 要求ヘッダーを送信するにはどうすればよいですか?

メッセージ ヘッダーではなく、HTTP 要求ヘッダーにパラメーターを追加する必要があります。

ありがとう!

4

2 に答える 2

27

これを行う最も簡単な方法は、次の方法でWebOperationContextを使用することです。

Service1Client serviceClient = new Service1Client();
using (new System.ServiceModel.OperationContextScope((System.ServiceModel.IClientChannel)serviceClient.InnerChannel))
{
    System.ServiceModel.Web.WebOperationContext.Current.OutgoingRequest.Headers.Add("AdminGUID", "someGUID");
    serviceClient.GetData();
}

この投稿から取得

于 2012-12-13T10:56:22.597 に答える
-2

タイプ HttpWebRequest の新しい WebRequest オブジェクトを作成します。ヘッダーを設定し、応答を取得します。

WebRequest req = HttpWebRequest.Create("myURL") as HttpWebRequest;
req.Headers.Add("AdminGUID", "value");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();

webrequest の詳細な例については、このページを参照してください

于 2012-12-13T09:12:56.063 に答える