Как обрабатывать параллельные соединения asp net (c #) - PullRequest
0 голосов
/ 21 марта 2011

Я написал простое веб-приложение в сети asp.В первый раз, когда я прохожу программу Все работает нормально, но если я пойду туда снова, она использует эти переменные из моего последнего сеанса.

Так что вопросы

  1. в любом случае, чтобы исправить это?

  2. Имеет ли это какое-то отношение к тому, как я делаю мои открытые переменные?

  3. Могу ли я сохранить переменные каккуки, а затем удалите их, когда страница закроется?

Вот как я делаю свои открытые переменные:

static class vars
{
    public static List<string> directory_names = new List<string>();
    public static List<string> directory = new List<string>();  
    public static int numvar = 0;
    //There are more but they all are made the same way
}

Любые идеи приветствуются.

Спасибо, Адам

Ответы [ 2 ]

0 голосов
/ 21 марта 2011

Есть несколько вещей, к которым мы должны обратиться.

Прежде всего, я думаю, что здесь задействовано больше кода, чем предоставленный вами класс. Я думаю, вам нужно добавить это, чтобы мы могли дать вам точный ответ.

Однако, как я вижу из предоставленного вами класса, есть одна особенность, которую вы сделали, и это ключевое слово static.

Ключевое слово static для класса и / или свойства означает, что во всем домене приложения имеется только один экземпляр. Это означает, что все запросы к вашему веб-сайту будут иметь значения вашего класса vars, поскольку существует только один экземпляр.

Я предлагаю вам следовать некоторым учебным пособиям и видео по ASP.NET, чтобы получить общее представление о ASP.NET. Начните здесь, у них отличный материал: http://www.asp.net/get-started

Подробнее о статическом ключевом слове: http://msdn.microsoft.com/en-us/library/98f28cdx(v=VS.100).aspx

0 голосов
/ 21 марта 2011

Вы должны избегать статического, поскольку это означает, что переменная будет одинаковой для каждого подключенного пользователя (плюс вы, вероятно, столкнетесь с проблемой многопоточности).

Вот ссылка на SO по этому поводу: Что такоелучше: статическая переменная VS Asp.NET Application Session?

...