DOBON.NETプログラミング道掲示板
(現在 過去ログ3 を表示中)
HOME
HELP
新規作成
新着記事
トピック表示
発言ランク
ファイル一覧
検索
過去ログ
[
最新記事及び返信フォームをトピックトップへ
]
[ トピック内全4記事(1-4 表示) ] <<
0
>>
■34063
/ inTopicNo.1)
ASP.NETから呼ばれているかどうか判定する方法
▼
■
□投稿者/ ぺんたごん
一般人(29回)-(2018/12/12(Wed) 11:45:42)
環境/言語:[.NET 4.5.2]
分類:[.NET]
こんにちわ。
今回、クラスライブラリを作っています。
これはWinForms、WPFやASP.NETなどからも使用可能なものとしています。
ここで、ASP.NETから呼び出されたときだけ挙動を少し変えようとしていますが、
なにか良い方法は有りますでしょうか。
ひとつ思いついたのは、エントリとなったアセンブリ名を取得し、
w3wp.exeだった場合はASP.NETだと判定する方法ですが、
もしWinFormsなどでexe名がw3wpだと誤判定する問題が有ります…
どうかよろしくお願いします。
引用返信
削除キー/
編集
削除
■34064
/ inTopicNo.2)
Re[1]: ASP.NETから呼ばれているかどうか判定する方法
▲
▼
■
□投稿者/ shu
大御所(483回)-(2018/12/12(Wed) 17:02:13)
■
No34063
に返信(ぺんたごんさんの記事)
起動モードをパラメータとして渡すようにして、その内容で
判断するようにしておいた方がよいと思います。
引用返信
削除キー/
編集
削除
■34065
/ inTopicNo.3)
Re[1]: ASP.NETから呼ばれているかどうか判定する方法
▲
▼
■
□投稿者/ 魔界の仮面弁士
大御所(1181回)-(2018/12/12(Wed) 17:33:17)
■
No34063
に返信(ぺんたごんさんの記事)
> ここで、ASP.NETから呼び出されたときだけ挙動を少し変えようとしていますが、
たとえば、下記のような代替策では駄目でしょうか。
・.config ファイルで挙動を指定する設計にする
・挙動を変更するための初期化パラメーターを呼び出し元から指定できるようにする
・プリプロセッサにより、それぞれの呼び出し元ごとに別のアセンブリとしてコンパイルする
> w3wp.exeだった場合はASP.NETだと判定する方法ですが、
aspnet_wp.exe という可能性もあるかも。
> もしWinFormsなどでexe名がw3wpだと誤判定する問題が有ります…
(同じファイル名にする明確な理由が思い当たらなかった…)
WinForms と ASP.NET の二択で良ければ、Environment.UserInteractive あたりが
つかえるかもしれません。他のサービスから利用する可能性があるなら駄目ですが。
あるいは、Principal を判定する方法もありそうですが、こちらは認証方法次第ですね。
あとは System.Web.Hosting.HostingEnvironment.IsHosted とかかな…。
方法を考えるにしても、その切替が必要となった理由次第と言えるので、
どういった挙動変更をどのような目的で行いたいのかといった
具体的な背景が分かると助かります。
引用返信
削除キー/
編集
削除
■34066
/ inTopicNo.4)
Re[2]: ASP.NETから呼ばれているかどうか判定する方法
▲
▼
■
□投稿者/ ぺんたごん
一般人(30回)-(2018/12/13(Thu) 13:44:29)
ありがとうございます。
プロセス名については、作ってるのはあくまでライブラリなので
誰がどんなexe名にするか不明なため最悪なパターンとして被るなぁという意味でした。
プロパティで外から設定してもらうことにし、
誰かがASP.NETで作ってて設定し忘れた場合は自己責任ということにします。
ありがとうございました。
解決
済
み!
引用返信
削除キー/
編集
削除
トピック内ページ移動 / <<
0
>>
このトピックに書きこむ
過去ログには書き込み不可
Mode/
通常管理
表示許可
Pass/
HOME
HELP
新規作成
新着記事
トピック表示
発言ランク
ファイル一覧
検索
過去ログ
-
Child Tree
-