0

私はElmahを使用していますが、複数の開発者の1人がプロジェクトをローカルで実行している場合、そのローカルインスタンスから生成されたエラーメールのみを受信します。エラーがライブサーバーで生成された場合は、メールで別の(グループ)メール。現在、私たちは、自分のweb.configを持っている各人の(恐ろしい)メソッドを使用しています。これは、リポジトリにコミットするべきではありません(ただし、場合によってはコミットします)。次に、ライブにデプロイするときに電子メール文字列を変更します。

私たちは全員VS2010とCassiniを使用していますが、開発者は職場のコンピューターまたはVPN経由で接続する自宅のコンピューターから作業している可能性がありますが、自宅のコンピューターでのログイン名は職場のコンピューターのユーザー名を反映していません。

基本的に私がこれまでに持っているのはこのELMAHメール設定だけです:

<errorLog type="Elmah.SqlErrorLog, Elmah" connectionStringName="ElmahDb" />
<errorMail from="no-reply@mydomain.com" to="myemail@mydomain.com" subject="Project Error" smtpPort="0" async="false" />

そして、Application_Startの空のメソッド:

protected void Application_Start()
    {
        Config.SetErrorEmailReceiver();
    }

public static void SetErrorEmailReceiver()
    {
        //some logic
    }
4

1 に答える 1

2

最善のアプローチは、おそらく外部構成ファイルを使用することです。したがって、web.configを次のように変更します。

<errorMail configSource="elmah-errorMail.config" /> 

そして、各開発者は、以下を含むそのファイルの独自のコピーを持っています。

<errorMail from="no-reply@mydomain.com" to="myemail@mydomain.com" subject="Project Error" smtpPort="0" async="false" />

そしてもちろん、本番Webサーバーにも本番の値があります。

ただし、なぜ開発者にメールを送信したいのかはまだわかりません。十分な警告の黄色い死の画面ではありません:)

于 2013-01-29T18:51:22.457 に答える