2016-11-22 14 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

あなたがセッションなしで動作するならば、あなたが実行してより良いスケールをとることができることは注目に値する...与えられた要求あなたは何か他のものを再検索し、一時的なデータを保持するためにキャッシュルールを使うことができるはずです。 – 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> 

は単に「セッション」は、すでにのmachine.configで定義されているはずなので、それは動作しません加える。

これは普通のことだと思います。それはあまりにも粗末なので、確かにそうではないようです... "

関連する問題