- 追加された行はこの色です。
- 削除された行はこの色です。
「[[Open棟梁 wiki>https://opentouryo.osscons.jp]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。
-[[戻る>.NET Core対応]]
-[[戻る>機能一覧 - 対応する処理方式と、そのサンプル#lc433e15]]
--共通の初期化処理
--[[.NET Core版の初期化処理]]
*目次 [#o78d1d8c]
#contents
*概要 [#wc473723]
.NET Core対応で初期化処理が必要になった点がいくつかあるのでメモ。
初期化処理が必要な点が幾つかあるのでメモ。
*詳細 [#bee65ff9]
**共通 [#v893873f]
.NET Framework、.NET Core、Web、Desktop共通
***PaaSでDLLの場合の埋込リソースの利用 [#nd9f34e6]
-[[既定ではEntryAssemblyの埋込リソースからSQLなどのリソースをロードする>FAQ - D層フレームワーク#v3c9d7c9]]
*** [#nd9f34e6]
-PaaSなどを使用するケースでEntryAssemblyがDLLの場合は、以下のような設定が必要になる。
--app.config or appsettings.jsonのappSettings sectionのAzureに以下の値を設定する。
**ASP.NET Core [#ebe5b258]
---app.config
<add key="Azure" value="[Web アプリケーションの既定の名前空間名]"/>
---appsettings.json
"Azure": "[Web アプリケーションの既定の名前空間名]"
***カレント・ディレクトリ [#a948f331]
-ASP.NET Coreでは、[[Docker対応]]などで、相対パスを使用するケースが増えてきた。
-そこで、必要に応じて以下の様に、カレント・ディレクトリを変更する。
--[[Daoが、埋め込まれたリソースからSQLを読むように変更する。>機能一覧 - フレームワーク#w3a808e2]]
Touryo.Infrastructure.Business.Dao.MyBaseDao.UseEmbeddedResource = true;
// カレント・ディレクトリを変更する。
Directory.SetCurrentDirectory(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location));
-基本的にリソースはEntryAssemblyに埋め込む。
--SQL以外のリソースは、殆どの場合、EntryAssemblyに埋め込む。
--[[SQLリソースは、別途、任意のAssemblyに埋め込む事ができる。>FAQ - D層フレームワーク#v3c9d7c9]]
***HttpContext.Current [#t6a0097d]
HttpContext.Currentを使用可能にする。
***... [#r99a51a5]
// HttpContextのマイグレーション用
services._AddHttpContextAccessor();
**ASP.NET (Core)共通 [#ebe5b258]
※ 利用の際は、
***OAuth2 & OIDC Client [#xad90b6d]
HttpClientを生成して設定する。
MyHttpContext.Current.Session
>等として利用する。
***OAuth2 & OIDC Client [#xad90b6d]
これは、.NET Framework版でも必要。
// OpenID用
OAuth2AndOIDCClient.HttpClient = new HttpClient();
*参考 [#d06435a8]
***... [#cb1a03fa]