0

Web メソッドを呼び出して 2 つの値 (注文と金額) を渡すクライアント アプリケーションがあります。Web メソッドは、Session/Cookie に値を設定します。これで、クライアント アプリケーションは他の Web サイトにリダイレクトされます。Web サイトは、セッション/Cookie のいずれかによって注文と金額の値を取得できるはずです。セキュリティ上の問題により、クエリ文字列として使用できません。適切な解決策を教えてください。Web サービスのコードは次のとおりです。

    [WebMethod(EnableSession = true,Description="SetValues")]
    public void CallService(string orderNumber, double amount)
    {
        if (orderNumber != null && orderNumber != string.Empty)
        {               
          Context.Session["OrderID"] = orderNumber;
          Context.Session["Amount"] = amount; //Tried Session but did no work            
         //Tried Setting the value in Cookie 
          HttpCookie OrderID = new HttpCookie("OrderID",orderNumber);
          HttpCookie Amount = new HttpCookie("Amount", amount.ToString());
          OrderID.Expires = DateTime.Now.AddHours(3);
          Amount.Expires = DateTime.Now.AddHours(3);
          Context.Response.SetCookie(Amount);
          Context.Response.SetCookie(OrderID);
        }
}

//Cookie から値を取得するコード

        Service.ServiceAPISoapClient e1 = new Service.ServiceAPISoapClient();           
           e1.CallEISService("12e", 121);
 string amount= Request.Cookies["Amount"] != null?  Request.Cookies["Amount"].Value:""; 
4

2 に答える 2

0

Cookie は常に単一のドメインにバインドされます。セキュリティ上の理由から、他のドメインで Cookie を使用することはできません。

于 2012-12-13T12:10:16.077 に答える