Мое одно значение отражает другое приложение в MVC? - PullRequest
0 голосов
/ 24 мая 2011

Когда я открываю два приложения в разных браузерах или в одном и том же браузере, значение, которое я добавил в одном приложении, видимо для другого приложения.

Я сделал сессионного помощника, но у меня все еще проблемы.

public class SessionHelper
{
    #region Strongly typed variable
    public static CreateAccountModel tmpmodel = null;
    public static string errMsg = string.Empty;
    public static List<PointOfSalesModel> CurrPosModelArr = null;
    public static List<PointOfSaleUsersModel> currAddedClerks = null;
    public static List<AuthorizedIPsModel> currAddedIPs = null;
    public static bool isPosDataLodedFirstTime = false;
    public static string isEditGridClickedVal = "No";
    public static int AccountId = -1;
    #endregion

    public SessionHelper Current
    {
        get
        {
            SessionHelper currentSession = HttpContext.Current.Session["_session"] as SessionHelper;
            if (currentSession == null)
            {
                currentSession = new SessionHelper();
                HttpContext.Current.Session["_session"] = currentSession;
            }
            return currentSession;
        }
    }
}

1 Ответ

1 голос
/ 24 мая 2011

Статические поля / свойства являются общими для всех ваших запросов, сделанных в браузерах. Таким образом, даже если вы сохраните его в сеансе, но на каждый SessionHelper будут ссылаться одинаковые статические поля. Вместо этого используйте поля экземпляра.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...