1

予約タイプのオブジェクトを1つのメインドメインからサブドメインに渡す必要があります。ここで、sslがインストールされているページがあります。したがって、そこにすべての値を送信し、そこで消費する必要があります/

次の方法でWebサービスを作成するのに疲れました

[WebMethod]
    public List<Reservation> getReservation()
    {
        if (HttpContext.Current.Session["reservation"] != null)
        {
            return (List<Reservation>)HttpContext.Current.Session["reservation"];
        }
        else
        {
            List<Reservation> objres = new List<Reservation>();
            return objres;
        }


    }

だから私はサブドメインページでそのWebサービスを利用することができます

次のコードはSSL対応ページに書かれています

  string FullUrl = "http://localhost/goldlinetravel/webservice.asmx/getReservation";
            HttpWebRequest request = WebRequest.Create(FullUrl.ToString()) as HttpWebRequest;
            request.ContentType = "text/xml; charset=UTF-8";
            request.Accept = "application / xml";
            request.Method = "POST";
            request.ContentLength = 0;
            DataSet dsReservation = new DataSet();
            using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
            {
                response.GetResponseStream();

                dsReservation.ReadXml(response.GetResponseStream());
            }

そのスローエラー500サーバーエラー。

Webサービスには別の方法があります

 [WebMethod]
    public string HelloWorld() {
        return "Hello World";
    }

次のコードでこのWebサービスを使用すると、エラーは発生しません

string FullUrl = "http://localhost/goldlinetravel/webservice.asmx/HelloWorld";
            HttpWebRequest request = WebRequest.Create(FullUrl.ToString()) as HttpWebRequest;
            request.ContentType = "application/x-www-form-urlencoded";
            request.Accept = "application / xml";
            request.Method = "POST";
            request.ContentLength = 0;
            DataSet dsReservation = new DataSet();
            using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
            {
                response.GetResponseStream();

                dsReservation.ReadXml(response.GetResponseStream());
            }

getReservationメソッドで何が問題になっているのかわかりません

4

1 に答える 1

1

Webサービスを使用する場合は、Webサービスでセッションが有効になっていることを確認してください。

[WebMethod(EnableSession = true)]
public List<Reservation> getReservation()
{
    ...
}

明らかに、セッションを有効にしたので、これは、HttpContext.Current.Session["reservation"]以外のものを提供するという意味ではありませんnull。最初に何かをセッションに保存しておく必要があります。そして、これは外部からではなく、同じWebサービスで実行する必要があります。ASP.NETアプリケーション間でセッションを共有することはできません。

于 2012-07-14T12:11:16.150 に答える