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