2016-11-22 3 views
0

У меня есть приложение asp.net mvc, и все, кажется, отлично работает на моей машине разработки, однако, когда я пытаюсь развернуть и запустить приложение на сервере, он дает мне следующую ошибку:Переменная сеанса, недоступная в частичном классе

System.NullReferenceException: Ссылка на объект не установлена ​​в экземпляр объекта.

Это происходит в этой строке кода. Все, что я пытаюсь сделать, это установить значение в сеансе.

У меня есть этот код внутри частичного класса контроллера.

public partial class HomeController : BaseController 
{ 
    public ActionResult Index(string Value) 
    { 
    System.Web.HttpContext.Current.Session["Test"] = "world"; 
    return View(); 
    } 
} 
+0

Стоит отметить, что вы можете работать и масштабироваться намного лучше, если вы работаете без сеансов ... Если у вас достаточно контекста для данного запроса (userid через токен/cookie) и параметры запроса, вы должны иметь возможность повторно искать что-либо еще и использовать правила кэширования для хранения временных данных. – Tracker1

+0

У меня есть необходимость хранить некоторые переменные на узле и хочу, чтобы эти переменные были доступны в других контроллерах. Можете ли вы обратиться к любым статьям, которые предлагают ваш метод. – desiguy

ответ

0

Спасибо, что привели меня найти решение здесь:

Решение 1 из ASP.NET MVC - Session is null работал для меня.

" Решение 1:

Ссылка:.. HttpContext.Current.Session равно нулю при маршрутизации запросов

Понял Довольно глупо, на самом деле он работал после того, как я удалил & добавил SessionStateModule так:

<configuration> 
    ... 
    <system.webServer> 
    ... 
    <modules> 
     <remove name="Session" /> 
     <add name="Session" type="System.Web.SessionState.SessionStateModule"/> 
     ... 
    </modules> 
    </system.webServer> 
</configuration> 

Просто добавив, что не будет работать, так как «Session» уже должны были быть определены в machine.config.

Теперь, интересно, это обычная вещь. Это, конечно, не выглядит так, потому что кажется таким грубым ... »

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