わかりました、私はこれに少し立ち往生しています。私の問題はページのライフサイクルにあると思いますが、問題を解決する方法がわかりません。
セッションへのアクセスが必要な静的メソッドがあります。ただし、このメソッドは AJAX 呼び出しの途中で呼び出されます。コードは次のようになります。
$(object).click(function() {
Library.Ajax.GetData(someParameter, function(results) {
//do call back code
});
});
Web メソッド:
[WebMethod]
public List<string> GetData(string parameter)
{
return new Library.Class().GetData(parameter);
}
C# クラス:
public List<string> GetData(string parameter)
{
//working with parameter & stuff
CallStaticMethod();
//return things
}
静的メソッド:
public static CustomClass CallStaticMethod()
{
var data = HttpContext.Current.Session["variable"];
//do other things
}
ページの読み込み時に、セッションにはデータがあります。この静的メソッドが呼び出されたとき、ページはポストバックまたはリロードされていません。ただし、各メソッド呼び出し内にブレーク ポイントを配置すると、呼び出し時に HttpContext.Current.Session が null であることが示されます。
ページのライフサイクルを理解することになると、私は確かにひどいです。ここで何が起こっているのか、誰かが光を当てることができますか? そして、問題を解決するために何ができますか?