2014-11-17 3 views
-3

В моем проекте Asp.net Mvc 4.5 Я делаю статический список строк. В этом списке Добавить String Variable этот список работает в режиме отладки при запуске Visual studio, но когда make publish не работает это мой кодКак сделать статическую переменную Работаю в режиме публикации В iis7?

Что я вижу, когда публикую и открываю это представление из разных браузеров, чтобы не получить данные, вставленные из другого браузер, который откроет этот вид

ех> при открытии в хромового и установить ул переменную 1, то 2 я буду видеть в хромового 1 затем 2

когда получите URL и открыть в другом браузере, как светлячок не могу видеть 1, 2 вот что мне нужно было посмотреть

public static class GetOnLineUser 
    { 
     public static List<string> NewList; 
     public static string StaticList(string str) 
     { 
      if(NewList==null) 
       NewList = new List<string>(); 
      var sp = new StringBuilder(); 
      if (!NewList.Contains(str) && !string.IsNullOrEmpty(str)) 
       NewList.Add(str); 
      if (NewList != null && NewList.Count > 0) 
      { 
       foreach (var st in NewList) 
       { 
        sp.Append(st); 
        sp.Append("<br/>"); 
       } 
      } 
      return sp.ToString(); 
     } 
    } 


public class TestStController : Controller 
    { 
     // 
     // GET: /TestSt/ 
     public string Index(string str) 
     { 
      return GetOnLineUser.StaticList(str); 
     } 
    } 
+1

«но когда публикация не работает» не говорит нам ничего »о том, повторно посмотрев. Ваш код, конечно, не является потокобезопасным, во-первых, и неясно, чего вы хотите достичь ... но что вы наблюдаете? В чем проблема * здесь? –

+0

Что я вижу, когда вы публикуете и открываете это представление из разных браузеров, не получайте данные, вставленные из другого браузера, которые открывают это представление ex> когда открываются в хром и устанавливают переменную str в 1, затем 2 я увижу в хроме 1, затем 2 , когда получить url и снова открыть в другом браузере, например firefox cant see 1, 2 вот что мне нужно было посмотреть –

+0

Итак, что * делать * вы видите в Firefox? (Возможно, вы захотите рассмотреть возможность использования 'string.Join', кстати ... и подумайте о безопасности потоков ...) –

ответ

-1

Эта проблема Поскольку конфигурация в пуле приложений iis для этого сайта в режиме публикации на сервере. Чтобы исправить это, откройте Iis и выберите пулы приложений для этого сайта. Затем откройте «Дополнительные настройки для этого пула приложений». И выберите [Модель процесса] с панели дисплея и установите [Профиль пользователя] = False Эта конфигурация делает любую статическую переменную для меня

+0

На самом деле неясно, из какого вопроса или ответа вы поставили вопрос о том, в чем проблема, в первую очередь, о том, что действительно произошло. Также очень трудно прочитать этот ответ из-за использования капитализации для каждого слова. – Claies

Смежные вопросы