ASP.net Core 2.0でセッションを使用するにはどうすればよいですか?私はHttpContext.Session.GetString()を使用しています。しかし、セッションを使用できるようにStartup.csを設定する必要があるため、セッションに保存されません。ASP.netコア2.0ではservices.AddSession()を見つけることができません。
0
A
答えて
0
あなたはMicrosoft.AspNetCore.Session Nugetパッケージを追加しConfigureServices
方法でセッションのサポートを追加する必要があります。
services.AddSession(options =>
{
options.IdleTimeout = TimeSpan.FromMinutes(20);
options.CookieHttpOnly = true;
});
はもっとここを参照してください:https://docs.microsoft.com/en-us/aspnet/core/fundamentals/app-state。
1
startup.csファイルにサービスとしてセッションを追加する必要があります。
は、Visual Studio 2017にはproject.jsonがないので、あなたはその部分をスキップすることができservices.AddMvc();
Go to this link for all the details.
前にそれを追加することを忘れないでください。
0
あなたは、サービス構成でセッションを登録する必要があります -
services.AddSession(options =>
{
options.IdleTimeout = TimeSpan.FromMinutes(30);
options.CookieHttpOnly = true;
});
どこでもコンストラクタに注入し、それを使用するには。ここでは、デモ用のコントローラコンストラクタを使用しています。 -
using Microsoft.AspNetCore.Http;
public class AccountController : Controller
{
private ISession _session;
public AccountController(IHttpContextAccessor contextAccessor)
{
_session = contextAccessor.HttpContext.Session;
}
}
ここで目的を簡略化するために値を取得して設定します。使用が簡単である
public static class HttpSessionExtension
{
public static void Set<T>(this ISession session, string key, T value)
{
session.SetString(key, JsonConvert.SerializeObject(value));
}
public static T Get<T>(this ISession session, string key)
{
var value = session.GetString(key);
return value == null ? default(T) :
JsonConvert.DeserializeObject<T>(value);
}
}
- -
_session.Set<MyModel>(Mykey, value);
_session.Get<MyModel>(Mykey);
Iは、以下の拡張メソッドを使用しました
関連する問題
- 1. ASP.NetコアRC2がconfig.jsonを見つけることができません
- 2. NamespaceHandlerコアを見つけることができません
- 3. CodeIgniterエラーがコア/ CodeIgniter.phpを見つけることができません
- 4. ASP.NET 4.0アプリケーションがIIS6でDefault.aspxを見つけることができません
- 5. ファイルは、ウェブサイト上で見つけることができません(ASP.NET MVC)
- 6. ASP.NET ControlParamaterでコントロールを見つけることができませんでした
- 7. ASP.net JqueryはprettyPhoto()関数を見つけることができません
- 8. ASP.NET GridViewはプロパティを見つけることができません
- 9. herokuはCSSを見つけることができません
- 10. はWindowsコマンドレットを見つけることができません
- 11. C++はSQLite3を見つけることができません
- 12. はシンボルクラスKeyEventを見つけることができません
- 13. PHPはクラスファイルを見つけることができません
- 14. Intellijはcommons.dbcp2を見つけることができません
- 15. は、シンボルgetCurrentActivityを見つけることができません
- 16. Javahはkhronos.opengles.GL10を見つけることができません
- 17. リンカーはCTFontCreateWithNameAndOptionsを見つけることができません
- 18. グランタタスクはファントムドライバを見つけることができません
- 19. typescriptはnode_modulesを見つけることができません
- 20. CMakeはGLEWを見つけることができません
- 21. Impalaはcom.mysql.jdbc.Driverを見つけることができません
- 22. PostGISはGDALALLRegisterを見つけることができません
- 23. ジェンキンスイオンビルドはGradleを見つけることができません
- 24. はMSTest.exeを見つけることができません
- 25. @PropertySourceは、クラスパスを見つけることができません:
- 26. Herokuはモジュールを見つけることができません
- 27. チームシティーコマンドラインビルドステップは、ファイルを見つけることができません
- 28. ProcessBuilderはファイルを見つけることができません。
- 29. AddToRoleAsyncはロールを見つけることができません
- 30. 春はリソースを見つけることができません