- 追加された行はこの色です。
- 削除された行はこの色です。
「[[Open棟梁 wiki>https://opentouryo.osscons.jp]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。
-[[戻る>.NET Core対応]]
-[[戻る>機能一覧 - 対応する処理方式と、そのサンプル#lc433e15]]
--[[共通の初期化処理]]
--.NET Core版の初期化処理
*目次 [#w0fa0eca]
#contents
*概要 [#k3b33c11]
.NET Core対応で初期化処理が必要になった点がいくつかあるのでメモ。
.NET Core対応で初期化処理が必要になった点が幾つかあるのでメモ。
*詳細 [#g4621cf0]
**共通 [#k0d5bb2d]
*** [#n7221dba]
***GetConfigParameter [#n7221dba]
[[GetConfigParameterクラスで、appsettings.jsonを使用できるようにする初期化処理>https://github.com/OpenTouryoProject/OpenTouryo/blob/develop/root/programs/CS/Frameworks/Infrastructure/Public/Util/GetConfigParameter.cs#L71]]。
-ASP.NET Core
public Startup(IHostingEnvironment env, IConfiguration config)
{
...
// configの初期化
GetConfigParameter.InitConfiguration(config);
**ASP.NET Core [#t10144e2]
-ASP.NET Core以外
// configの初期化
GetConfigParameter.InitConfiguration("appsettings.json");
***カレント・ディレクトリ [#y1939e2f]
-ASP.NET Coreでは、[[Docker対応]]などで、相対パスを使用するケースが増えてきた。
-そこで、必要に応じて以下の様に、カレント・ディレクトリを変更する。
***... [#x01f4a01]
// カレント・ディレクトリを変更する。
Directory.SetCurrentDirectory(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location));
***その他 [#z67554d2]
テンプレートのProgram.csを参考にする。
-https://github.com/OpenTouryoProject/OpenTouryo/blob/develop/root/programs/CS/Samples4NetCore/Legacy/Bat_sample/SimpleBatch_sample/Program.cs
**ASP.NET Core [#t10144e2]
***HttpContext.Current [#z3c9df05]
HttpContext.Currentを使用可能にする。
-Startup.Configure
// HttpContextのマイグレーション用
app._UseHttpContextAccessor();
-Startup.ConfigureServices
// HttpContextのマイグレーション用
services._AddHttpContextAccessor();
※ 利用の際は、
MyHttpContext.Current.Session
>等として利用する。
***OAuth2 & OIDC Client [#d75e7f16]
これは、.NET Framework版でも必要。
// OpenID用
OAuth2AndOIDCClient.HttpClient = new HttpClient();
***カレント・ディレクトリ [#y1939e2f]
-ASP.NET Coreでは、[[Docker対応]]などで、相対パスを使用するケースが増えてきた。
-そこで、必要に応じて以下の様に、カレント・ディレクトリを変更する。
*参考 [#w0c29faa]
// カレント・ディレクトリを変更する。
Directory.SetCurrentDirectory(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location));
***... [#gdc7545b]
***その他 [#u3f15105]
テンプレートのProgram.csやStartup.csを参考にする。
-https://github.com/OpenTouryoProject/OpenTouryo/blob/develop/root/programs/CS/Samples4NetCore/Backend/MVC_Sample/MVC_Sample/Startup.cs
-https://github.com/OpenTouryoProject/OpenTouryo/blob/develop/root/programs/CS/Samples4NetCore/Backend/MVC_Sample/MVC_Sample/Program.cs