私は、インターフェイスを持っています。ILocateLogFile
と呼んで、開発者向けの標準実装である/プロダクションサーバと、ローカル開発環境でのみ動作します。私は、(私はローカルまたはサーバー上で実行している場合、私は良いコンパイル時に決定するための素敵な方法を考えることができないが、ランタイムはうまくいくだろう)。 IIS上でホストされているWCFアプリケーションです(重要な場合)。コードがVisual Studio/Cassiniからローカルで実行されているかどうかを確認する方法
私が思い付くした最高のは、コンパイラの記号を使用するようなものです:問題がある
ILocateLogFile locateLogFile;
#if DEBUG
locateLogFile = new DevSandboxLogFileLocator();
#else
locateLogFile = new LogFileLocator();
#endif
、シンボルは私が管理していないビルドで設定を取得、コンパイル、およびI確信したいVisual Studioの存在を確認するための自動化された方法はありませんか?または、少なくともIISではなくCassiniを確認する必要がありますか?私はこの1を行っている
を使用したコードである私は、これがあればelse文でサーバ名の変数をチェックして前に解決を見てきました。 – RandomUs1r
ログを構成するために.configファイルを使用しない理由は何ですか? (すでに環境ごとに異なる.configがあるので、ログを追加するのは簡単かもしれません)。 –
@ RandomUs1rそれは良い提案ですが、私のWCFサービスがASP.Netとの互換性を使用していないため、 'System.Web.HttpContext'を使うことはできません。 – McGarnagle