2010-12-27 4 views
1

私のセッションを失いました自分のWebサイトにいくつかのAjax機能を追加してもうまくいきますが、私のセッションはすべてこのページに関連しているため、Client.DownloadString(..)はすべてのセッションを失いました。私は自分のWebサービスからロードしたいページでページの読み込み時に私は、セッション設定:WebClientのは、私が最初にすべての問題を抱えている私のWebサービスメソッドを見て

HttpContext.Current.Session[E_ShopData.Constants.SessionKey_ItemList] = result; 

を私はページ内のボタンをクリックすると、このセッションでは、私はそれがセッションを転送することはできません意味nullです。

どうすればこの問題を解決できますか? 自分のWebサービスは、次のようないくつかのjqueryのコードによって処理されます。クライアントはセッションとの.jsファイルを失うことになり

$.ajax({ type: "Post", 
    url: "Services/NewE_ShopServices.asmx" + "/" + "GetPageContent", 
    data: "{" + "VirtualPath" + ":" + mp + "}", 
    contentType: "application/json; charset=utf-8", 
    dataType: "json", 
    complete: hideBlocker, 
    success: LoadAjaxSucceeded, 
    async: true, 
    cache: false, 
    error: AjaxFailed 
}); 

ウェブは、私は同じ実用的なアプリケーションとの代わりにWebクライアントの他のものを使用することができますどのように実行することはできませんか?

答えて

0

あなたは(WebMethodAttribute.EnableSessionを使用して)セッションを有効にする必要があり、これを変更:

[WebMethod(), ScriptMethod(ResponseFormat = ResponseFormat.Json)] 

へ:

[WebMethod(EnableSession = true), ScriptMethod(ResponseFormat = ResponseFormat.Json)] 

編集:申し訳ありませんが、あなたはWebクライアントを使用している表示されませんでした。 WebClientがサーバー側を実行するため、ユーザーとは異なるセッションを使用するため、これは機能しません。

+0

Webサービスに関連していないと思いますが、動作していないと思われます。 – kamiar3001

+0

WebClient.DownloadStringでダウンロードしたページのpageLoadイベントでセッションにアクセスすると、セッションの値が表示されません。 – Danish

関連する問題