- PR -

WindoowsアプリとWebアプリの識別

1
投稿者投稿内容
未記入
常連さん
会議室デビュー日: 2006/08/09
投稿数: 33
投稿日時: 2006-08-09 11:11
WindowsアプリとWebアプリで共用する DLLを作成しているのですが,
実行時のFullPathの取得のように,
Webアプリと,Windowsアプリで処理を替えたいのですが,
自分がWeb/Windows のどちらの上で,実行しているのか,
判るものでしょうか?
burton999
ぬし
会議室デビュー日: 2003/10/06
投稿数: 898
お住まい・勤務地: 東京
投稿日時: 2006-08-09 11:48
System.Web.HttpContext.Currentがnullかどうかで判断できそうな気もしますが、
そもそも共用のDLLにする設計が微妙。。。

コード:
if (System.Web.HttpContext.Current == null)
{
	// Windowsアプリから呼ばれた?
}
else
{
	// Webアプリから呼ばれたっぽい?
}

未記入
常連さん
会議室デビュー日: 2006/08/09
投稿数: 33
投稿日時: 2006-08-09 14:04
ありがとうございました。
 確実性か100%ではないにしても,実用上つかえそうです。
>そもそも共用のDLLにする設計が微妙。。。

Web と Windowsでほぼ同一の画面をつくることがあり, 同じ処理を二度記述したくなかったので, 共通.DLLを企みました.
仕組み上,うまくないなとは自認するのですが....
未記入
常連さん
会議室デビュー日: 2006/08/09
投稿数: 33
投稿日時: 2006-08-09 14:04
ありがとうございました。
 確実性か100%ではないにしても,実用上つかえそうです。
>そもそも共用のDLLにする設計が微妙。。。

Web と Windowsでほぼ同一の画面をつくることがあり, 同じ処理を二度記述したくなかったので, 共通.DLLを企みました.
仕組み上,うまくないなとは自認するのですが....
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-08-09 14:54
引用:

jbg01040さんの書き込み (2006-08-09 14:04) より:

Web と Windowsでほぼ同一の画面をつくることがあり, 同じ処理を二度記述したくなかったので, 共通.DLLを企みました.
仕組み上,うまくないなとは自認するのですが....


本当に、Share な部分であれば、そのようにアセンブリを切ることはあります。
BusinessObjects さんや、Grapecity さんのプロダクトでは、そういう構成になっています。

# 固有のものが含む場合に、別のアセンブリを切るのが自然です。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
未記入
常連さん
会議室デビュー日: 2006/08/09
投稿数: 33
投稿日時: 2006-10-11 10:25
亀レスですいません。
UIに関する部分は別アセンブリにして,UIを伴わない部分は共通アセンブリにします。

渋木宏明(ひどり)
ぬし
会議室デビュー日: 2004/01/14
投稿数: 1155
お住まい・勤務地: 東京
投稿日時: 2006-10-12 08:48
引用:

UIに関する部分は別アセンブリにして,UIを伴わない部分は共通アセンブリにします。



の方がいいと思いますよ。

「今」は全く同じコードでよくても、後々個別の要請によってコードが分岐する可能性があるので。

_________________
// 渋木宏明 (Hiroaki SHIBUKI)
// http://hidori.jp/
// Microsoft MVP for Visual C#
//
// @IT会議室 RSS 配信中: http://hidori.jp/rss/atmarkIT/
1

スキルアップ/キャリアアップ(JOB@IT)