「[[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


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS