0

Core と Web の 2 つのプロジェクトを使用したソリューションがあります。コアでは、何かを行うセッションを管理し、このメソッドを呼び出します。

public void SetLog()
{
    HttpContext.Current.Session["Logged"] = true;
}

それは仕事です。

ページを変更すると (テスト用に ASP.NET 4.0 の既定のテンプレートを使用します)、[About] リンクをクリックして、次のメソッドを呼び出します。

public bool IsLogged()
{
    if (HttpContext.Current.Session["Logged"] == null)
        return false;

    return true;
}

About ページで、Session are null, normal ? これをどのように解決しますか?

ありがとう、

4

1 に答える 1

1

2 つの Web アプリケーションがあると思われます: Core と Web は 2 つの異なるドメインでホストされています:http://localhost:1234http://localhost:5678. 最初の Web アプリケーション内でセッション変数を設定しているようですが、このセッションは最初のアプリケーションに関するものにすぎません。このアプリケーションを離れるとすぐに、もう一方のアプリケーションは完全に別のセッションになります。ASP.NET アプリケーション間でセッションを共有できないことに注意してください。これには回避策がありますが、そのままでは機能しません。

于 2012-06-20T06:24:10.987 に答える