FAQ - その他
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
「[[Open棟梁 wiki>https://opentouryo.osscons.jp]]」は、「...
-[[戻る>FAQ]]
--[[P層フレームワーク>FAQ - P層フレームワーク]]
--[[B層フレームワーク>FAQ - B層フレームワーク]]
--[[D層フレームワーク>FAQ - D層フレームワーク]]
--[[大規模案件導入>FAQ - 大規模案件導入]]
--その他
*目次 [#o9dd7074]
#contents
*ASP.NET [#z979e211]
**ASP.NETのweb.config、app.configへの変更の反映タイミング...
反映には、IISの再起動が必要です。
-web.configが変更されると、自動的にIISの再起動がかかり、...
-しかし、app.configの変更ではIISが再起動しないので、iisre...
-※ ASP.NET開発用Webサーバを使用している場合は、上記IISをA...
**sessionStateのmodeの初期値をStateServerにしている理由 [...
-StateServer、SQLServerなどのモードを使用するには、~
Sessionに格納するオブジェクトが、[Serializable]にマークさ...
-InProcで開発を進めてしまうと、[Serializable]でない、オブ...
運用中の切替ができなくなることを想定し、Open棟梁のテンプ...
-選択
--本番運用環境で、クラスタリングなどが必要になり得るよう...
--そのようなことが無いと言い切れる場合は、mode="InProc"に...
**Forms認証ログイン前にJSファイルなどを参照できない。 [#i...
-Forms認証で、左記現象が発生することを確認しました。
-これを回避するには、web.configのセクションに、以下の定義...
<!--
JavaScript ファイルを認証対象外にする
-->
<location path="Framework/Js">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
**予期せぬSessionタイムアウトが発生する。 [#j208bca0]
-IIS では、特定のワーカープロセスのアイドル状態が続くと自...
このワーカープロセスのアイドルタイムアウトの既定値は 20 ...
-従って、ASP.NET の画面操作後、20 分以上、誰からもその We...
上ワーカープロセスが強制的にシャットダウンされ、セッショ...
-アイドルタイムアウトの設定は、IIS 管理ツールで行います。
--アプリケーション プールのアイドル タイムアウト設定を構...
http://technet.microsoft.com/ja-jp/library/cc771956(v=ws....
-また、セッションの状態が失われる条件が、以下サイトにまと...
--Losing Session State (英語)~
http://stackoverflow.com/questions/3515947/losing-session...
**ASP.NETから共有フォルダにアクセスできない。 [#ad832f12]
共有フォルダへのアクセス権付与が必要です。
-ADを導入してる場合、マシンアカウントにアクセス権を付与で...
-また、IISのワーカープロセスのアカウントを変更することで...
上記を実施できない場合は、ASP.NETの偽装か区間偽装を推奨し...
余談:
-ネットワークドライブは、偽装アカウントで認識されていない...
-サービスアカウントはログインしないこともあるので。
**ASP.NETからEXE起動したプロセスにアクセス権が無い。 [#w3...
-偽装アカウントからEXEを起動した場合、EXEの実行アカウント...
-EXEの実行アカウントは偽装アカウントにする場合、以下のよ...
bool ret;
string cmdNotepad = Environment.GetEnvironmentVariable(
"SystemRoot", EnvironmentVariableTarget.Process) + @"\s...
// 通常起動
Process.Start(cmdNotepad);
// 偽装起動
// ・ASP.NET偽装や、ImpersonateValidUserの偽装レベルはS...
// ・独自偽装の、偽装レベルは、SecurityImpersonation、S...
// ・実行アカウントには、「プロセス レベル トークンの置...
ret = IdentityImpersonation.CreateProcessAsImpersonatio...
-IdentityImpersonationクラスはOpen棟梁の提供する部品です。~
**偽装方式 [#q2e60c6b]
-ASP.NET アプリケーションに偽装を実装する方法~
http://support.microsoft.com/kb/306158/ja
***ASP.NETの偽装 [#pb72d2b1]
-ベース クライアント セキュリティ モデルでの偽装
--<identity impersonate="true" />
-特定のユーザ アカウントを偽装
--<identity impersonate="true" userName="accountname" pas...
***区間偽装のサンプル [#o4c2dda7]
try
{
// コードの特定部分を実行するときのみ、任意のユーザを...
// 偽装して
ii = new IdentityImpersonation();
ret = ii.ImpersonateValidUser("x", "", "x");
// 偽装アカウントでの処理
// 存在チェック
this.lblElse.Text
+= string.Format("、偽装後(任意のユーザ「{0}」を偽...
+ ResourceLoader.LoadAsString(@"c:\test.txt", Enc...
}
catch (Exception ex)
{
Debug.WriteLine(ex.Message);
}
finally
{
// 偽装解除
ret = ii.UndoImpersonation();
}
-IdentityImpersonationクラスはOpen棟梁の提供する部品です。~
*ログ出力機能 [#vdf7fa51]
**ログ出力フォーマットをカスタマイズ可能か? [#y276eb21]
可能です。
-ログ出力フォーマットはカスタマイズ可能レイヤである[[ベー...
-以下のケースで、上記処理を案件ごとにカスタマイズして下さ...
--例外固有のプロパティをログ出力する場合
--例外のダンプをする場合(Exception.ToString(), [[Object...
**ログ出力機能に於いて、1系 ⇔ 2系と言ったローリングを実...
ログ出力機能は、log4netの機能を使用しておりますので、~
log4netの類似機能(MaxSizeRollBackups、CountDirection)で...
**複数のプロセスから1つのファイルに書き込み可能か? [#pac...
-MinimalLockが利用できる。
<lockingModel type="log4net.Appender.FileAppender+Minima...
-しかし、以下の問題は、発生し得る。
--単純にファイルのOpen - Closeを繰り返すだけ~
なので、性能とロックの懸念があり、問題に成り得る。
--問題に成り得るケースでは、[[アペンダ種類>ログ出力方式 (...
EventLogAppender、AdoNetAppenderやSyslogAppender~
などの利用を検討すると良いかと思う(が、既知の利用実績は...
**ログ出力機能に於いて、ユーザやプロセス毎に異なるファイ...
***ユーザ [#bd3f9f12]
-リッチクライアント(特にターミナルサービス)の場合、~
log4netの機能を使用し、ログイン ユーザ毎にログ出力先を変...
-具体的には、ファイル出力のアペンダ設定に
<param name="File" value="${USERPROFILE}?Log?ACCESS" />
>と記述すればOKです(USERPROFILEはログイン ユーザ毎に異な...
***プロセス [#e51a8fa6]
[[前述>#bd3f9f12]]のように、環境変数で設定可能なので、~
例えば、バッチならProgram.main()メソッドの冒頭等で、~
環境変数を設定すればイケるのでは?と思います。
**ログ出力のコントロールが可能か? [#g5a6f039]
***フィルタでコントロール [#k2f95156]
log4netの仕様を確認すると、以下のようになっているようなの...
Loggerのlevelにフィルタ設定すれば、一番性能的に良いと思い...
- Loggers ---> Logger ---> (level) ---> Appenders ---> A...
└-> RootLogger ---> Appender ---> (level) ---> O...
***プログラムからコントロール [#o67082c8]
プログラムからコントロールする場合は、~
LogIFの「ログ レベル情報取得インターフェイス」を使用して...
https://github.com/OpenTouryoProject/OpenTouryo/blob/deve...
*リッチ クライアント [#lc3cc172]
**リッチ クライアントの定義ファイルの保存先に、ユーザ毎に...
-リッチクライアント(WindowsForms、WPF、ClickOnce、XBAP、...
-具体的には、リソースローダ部品のパスに"%USERPROFILE%?App...
*[[通信制御機能]] [#ea73a251]
**プロキシ経由やプロキシ認証をサポートしているか? [#ge16...
-サポートしています。
-プロキシへのURLやCredentialsをXML定義ファイルに指定可能...
-また、これらをAPIから直接指定することも可能です。
**Windows認証を使用したSSOをサポートしているか? [#y1675a...
-サポートしています。
-ケルベロス認証をサポートしていますので、ベース クライア...
ダブル~トリプル ホップも可能です(ただし、ベース クライ...
**TCP/IPなどの通信プロトコルはサポートしているか? [#h5d4...
-サポートしています。
-サービス インターフェイス、サービス プロキシを追加開発す...
-同様に、他の未サポートのプロトコルも追加開発により対応可...
*テスト [#q2d87c9a]
(Open棟梁の)テストに関するいろいろ。
**パフォーマンス・テスト [#k1a2a7e6]
-性能問題のポイント - マイクロソフト系技術情報 Wiki~
https://techinfoofmicrosofttech.osscons.jp/index.php?%E6%...
-データアクセスの性能
--バッチ・サンプルの性能測定に使用した、各種リソース情報...
---(1)~
https://gist.github.com/daisukenishino2/5402109ba92be11f2...
---(2)~
https://gist.github.com/daisukenishino2/6ab8fd7a9f6eb0c32...
--動的パラメタライズド・クエリの性能測定に使用した、各種...
https://gist.github.com/daisukenishino2/c2da7b9fadf79c2ba...
**[[負荷テストのポイント]] [#g406fc5f]
**[[脆弱性対策のポイント]] [#bd304571]
**[[テスト自動化について]] [#n8861fcc]
**[[NuGet導入、NuGet登録]] [#t33423c7]
***[[NuGet導入後のデバッグ方法]] [#v116ec15]
***[[NuGetからローカルに切り替える。]] [#p873c57b]
*その他 [#t9987249]
**改元対応 [#s69d369a]
-Open棟梁の改元対応 - Google グループ~
https://groups.google.com/forum/#!topic/opentouryoproject...
**.Net Framework ClientProfile で動作&コンパイルできない...
Client Profileはサポートしていません。
-理由
--Client Profileは4.5でドロップされるようなので。
--Client Profileでは存在しないサーバサイドAPIを多数使用し...
.NET Framework Client Profile
http://msdn.microsoft.com/ja-jp/library/vstudio/cc656912...
.NET Framework 4.5 以降では、Client Profile が中止され、
完全な再頒布可能パッケージのみが使用できます。
今まではdefect(欠陥)か?とも考えていましたが、
上記理由で、今後のClient Profileへの対応予定はありません。
(また、Client Profile前提の開発も、あまりお勧めしません)
終了行:
「[[Open棟梁 wiki>https://opentouryo.osscons.jp]]」は、「...
-[[戻る>FAQ]]
--[[P層フレームワーク>FAQ - P層フレームワーク]]
--[[B層フレームワーク>FAQ - B層フレームワーク]]
--[[D層フレームワーク>FAQ - D層フレームワーク]]
--[[大規模案件導入>FAQ - 大規模案件導入]]
--その他
*目次 [#o9dd7074]
#contents
*ASP.NET [#z979e211]
**ASP.NETのweb.config、app.configへの変更の反映タイミング...
反映には、IISの再起動が必要です。
-web.configが変更されると、自動的にIISの再起動がかかり、...
-しかし、app.configの変更ではIISが再起動しないので、iisre...
-※ ASP.NET開発用Webサーバを使用している場合は、上記IISをA...
**sessionStateのmodeの初期値をStateServerにしている理由 [...
-StateServer、SQLServerなどのモードを使用するには、~
Sessionに格納するオブジェクトが、[Serializable]にマークさ...
-InProcで開発を進めてしまうと、[Serializable]でない、オブ...
運用中の切替ができなくなることを想定し、Open棟梁のテンプ...
-選択
--本番運用環境で、クラスタリングなどが必要になり得るよう...
--そのようなことが無いと言い切れる場合は、mode="InProc"に...
**Forms認証ログイン前にJSファイルなどを参照できない。 [#i...
-Forms認証で、左記現象が発生することを確認しました。
-これを回避するには、web.configのセクションに、以下の定義...
<!--
JavaScript ファイルを認証対象外にする
-->
<location path="Framework/Js">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
**予期せぬSessionタイムアウトが発生する。 [#j208bca0]
-IIS では、特定のワーカープロセスのアイドル状態が続くと自...
このワーカープロセスのアイドルタイムアウトの既定値は 20 ...
-従って、ASP.NET の画面操作後、20 分以上、誰からもその We...
上ワーカープロセスが強制的にシャットダウンされ、セッショ...
-アイドルタイムアウトの設定は、IIS 管理ツールで行います。
--アプリケーション プールのアイドル タイムアウト設定を構...
http://technet.microsoft.com/ja-jp/library/cc771956(v=ws....
-また、セッションの状態が失われる条件が、以下サイトにまと...
--Losing Session State (英語)~
http://stackoverflow.com/questions/3515947/losing-session...
**ASP.NETから共有フォルダにアクセスできない。 [#ad832f12]
共有フォルダへのアクセス権付与が必要です。
-ADを導入してる場合、マシンアカウントにアクセス権を付与で...
-また、IISのワーカープロセスのアカウントを変更することで...
上記を実施できない場合は、ASP.NETの偽装か区間偽装を推奨し...
余談:
-ネットワークドライブは、偽装アカウントで認識されていない...
-サービスアカウントはログインしないこともあるので。
**ASP.NETからEXE起動したプロセスにアクセス権が無い。 [#w3...
-偽装アカウントからEXEを起動した場合、EXEの実行アカウント...
-EXEの実行アカウントは偽装アカウントにする場合、以下のよ...
bool ret;
string cmdNotepad = Environment.GetEnvironmentVariable(
"SystemRoot", EnvironmentVariableTarget.Process) + @"\s...
// 通常起動
Process.Start(cmdNotepad);
// 偽装起動
// ・ASP.NET偽装や、ImpersonateValidUserの偽装レベルはS...
// ・独自偽装の、偽装レベルは、SecurityImpersonation、S...
// ・実行アカウントには、「プロセス レベル トークンの置...
ret = IdentityImpersonation.CreateProcessAsImpersonatio...
-IdentityImpersonationクラスはOpen棟梁の提供する部品です。~
**偽装方式 [#q2e60c6b]
-ASP.NET アプリケーションに偽装を実装する方法~
http://support.microsoft.com/kb/306158/ja
***ASP.NETの偽装 [#pb72d2b1]
-ベース クライアント セキュリティ モデルでの偽装
--<identity impersonate="true" />
-特定のユーザ アカウントを偽装
--<identity impersonate="true" userName="accountname" pas...
***区間偽装のサンプル [#o4c2dda7]
try
{
// コードの特定部分を実行するときのみ、任意のユーザを...
// 偽装して
ii = new IdentityImpersonation();
ret = ii.ImpersonateValidUser("x", "", "x");
// 偽装アカウントでの処理
// 存在チェック
this.lblElse.Text
+= string.Format("、偽装後(任意のユーザ「{0}」を偽...
+ ResourceLoader.LoadAsString(@"c:\test.txt", Enc...
}
catch (Exception ex)
{
Debug.WriteLine(ex.Message);
}
finally
{
// 偽装解除
ret = ii.UndoImpersonation();
}
-IdentityImpersonationクラスはOpen棟梁の提供する部品です。~
*ログ出力機能 [#vdf7fa51]
**ログ出力フォーマットをカスタマイズ可能か? [#y276eb21]
可能です。
-ログ出力フォーマットはカスタマイズ可能レイヤである[[ベー...
-以下のケースで、上記処理を案件ごとにカスタマイズして下さ...
--例外固有のプロパティをログ出力する場合
--例外のダンプをする場合(Exception.ToString(), [[Object...
**ログ出力機能に於いて、1系 ⇔ 2系と言ったローリングを実...
ログ出力機能は、log4netの機能を使用しておりますので、~
log4netの類似機能(MaxSizeRollBackups、CountDirection)で...
**複数のプロセスから1つのファイルに書き込み可能か? [#pac...
-MinimalLockが利用できる。
<lockingModel type="log4net.Appender.FileAppender+Minima...
-しかし、以下の問題は、発生し得る。
--単純にファイルのOpen - Closeを繰り返すだけ~
なので、性能とロックの懸念があり、問題に成り得る。
--問題に成り得るケースでは、[[アペンダ種類>ログ出力方式 (...
EventLogAppender、AdoNetAppenderやSyslogAppender~
などの利用を検討すると良いかと思う(が、既知の利用実績は...
**ログ出力機能に於いて、ユーザやプロセス毎に異なるファイ...
***ユーザ [#bd3f9f12]
-リッチクライアント(特にターミナルサービス)の場合、~
log4netの機能を使用し、ログイン ユーザ毎にログ出力先を変...
-具体的には、ファイル出力のアペンダ設定に
<param name="File" value="${USERPROFILE}?Log?ACCESS" />
>と記述すればOKです(USERPROFILEはログイン ユーザ毎に異な...
***プロセス [#e51a8fa6]
[[前述>#bd3f9f12]]のように、環境変数で設定可能なので、~
例えば、バッチならProgram.main()メソッドの冒頭等で、~
環境変数を設定すればイケるのでは?と思います。
**ログ出力のコントロールが可能か? [#g5a6f039]
***フィルタでコントロール [#k2f95156]
log4netの仕様を確認すると、以下のようになっているようなの...
Loggerのlevelにフィルタ設定すれば、一番性能的に良いと思い...
- Loggers ---> Logger ---> (level) ---> Appenders ---> A...
└-> RootLogger ---> Appender ---> (level) ---> O...
***プログラムからコントロール [#o67082c8]
プログラムからコントロールする場合は、~
LogIFの「ログ レベル情報取得インターフェイス」を使用して...
https://github.com/OpenTouryoProject/OpenTouryo/blob/deve...
*リッチ クライアント [#lc3cc172]
**リッチ クライアントの定義ファイルの保存先に、ユーザ毎に...
-リッチクライアント(WindowsForms、WPF、ClickOnce、XBAP、...
-具体的には、リソースローダ部品のパスに"%USERPROFILE%?App...
*[[通信制御機能]] [#ea73a251]
**プロキシ経由やプロキシ認証をサポートしているか? [#ge16...
-サポートしています。
-プロキシへのURLやCredentialsをXML定義ファイルに指定可能...
-また、これらをAPIから直接指定することも可能です。
**Windows認証を使用したSSOをサポートしているか? [#y1675a...
-サポートしています。
-ケルベロス認証をサポートしていますので、ベース クライア...
ダブル~トリプル ホップも可能です(ただし、ベース クライ...
**TCP/IPなどの通信プロトコルはサポートしているか? [#h5d4...
-サポートしています。
-サービス インターフェイス、サービス プロキシを追加開発す...
-同様に、他の未サポートのプロトコルも追加開発により対応可...
*テスト [#q2d87c9a]
(Open棟梁の)テストに関するいろいろ。
**パフォーマンス・テスト [#k1a2a7e6]
-性能問題のポイント - マイクロソフト系技術情報 Wiki~
https://techinfoofmicrosofttech.osscons.jp/index.php?%E6%...
-データアクセスの性能
--バッチ・サンプルの性能測定に使用した、各種リソース情報...
---(1)~
https://gist.github.com/daisukenishino2/5402109ba92be11f2...
---(2)~
https://gist.github.com/daisukenishino2/6ab8fd7a9f6eb0c32...
--動的パラメタライズド・クエリの性能測定に使用した、各種...
https://gist.github.com/daisukenishino2/c2da7b9fadf79c2ba...
**[[負荷テストのポイント]] [#g406fc5f]
**[[脆弱性対策のポイント]] [#bd304571]
**[[テスト自動化について]] [#n8861fcc]
**[[NuGet導入、NuGet登録]] [#t33423c7]
***[[NuGet導入後のデバッグ方法]] [#v116ec15]
***[[NuGetからローカルに切り替える。]] [#p873c57b]
*その他 [#t9987249]
**改元対応 [#s69d369a]
-Open棟梁の改元対応 - Google グループ~
https://groups.google.com/forum/#!topic/opentouryoproject...
**.Net Framework ClientProfile で動作&コンパイルできない...
Client Profileはサポートしていません。
-理由
--Client Profileは4.5でドロップされるようなので。
--Client Profileでは存在しないサーバサイドAPIを多数使用し...
.NET Framework Client Profile
http://msdn.microsoft.com/ja-jp/library/vstudio/cc656912...
.NET Framework 4.5 以降では、Client Profile が中止され、
完全な再頒布可能パッケージのみが使用できます。
今まではdefect(欠陥)か?とも考えていましたが、
上記理由で、今後のClient Profileへの対応予定はありません。
(また、Client Profile前提の開発も、あまりお勧めしません)
ページ名: