私のソリューションをローカルでデバッグしている間、私はELMAHエラー電子メールを受信しません。アプリケーションがリモートマシン上でホストされている場合にのみ受信したいと思います。これは可能ですか?ELMAH:リモートでのみメールエラーを送信するように設定できますか?
答えて
VS 2010でconfigトランスフォームを使用するソリューションが見つかりました。<errorMail />
タグをベースweb.configから削除し、変換タグ付きのWeb.Qa.ConfigとWeb.Release.Configに追加しました。パブリッシュすると、リモートマシンはローカルでは抑制されている間に電子メールを送信できます。
私はあなたがこれを行うことができると確信しています。ただfilter outgoing error emails。もちろん、それがリモートでホストされていることを示すいくつかの設定を使用してください。 または、2つの異なるweb.configを持ち、 "dev one"にエミュレーションがオフになっていることを確認してください。
私は同じ問題を抱えていましたが、ローカルとリモートのweb.configsを別々にするというアイデアを拒否しました。ソースコントロールでうまく動作しないからです(ただし下記のコメントを参照)。
代わりに、私はELMAH使用する各サイトでGlobal.asaxファイルにこれを追加しました:次のように
void ErrorMail_Mailing(object sender, ErrorMailEventArgs e)
{
e.OnErrorMailing(); // Prevent local machine errors from being mailed to the rest of the team
}
OnErrorMailing()当社のウェブライブラリで宣言された拡張メソッドは次のとおりです。の
/// <summary>
/// Prevent local machine errors from being mailed to the rest of the team. Feel free to add your own machine names/case blocks here
/// </summary>
public static void OnErrorMailing(this ErrorMailEventArgs e)
{
switch (e.Error.HostName.ToLower())
{
case "mymachinename":
e.Mail.To.Clear();
e.Mail.To.Add("MYEMAILADDRESS");
break;
}
}
もちろん、Elmahを使用するサイトが1つしかない場合や、コードの重複を気にしない場合は、そのコードをglobal.asaxに直接入れることができます。
もっと洗練されたソリューションはありますが、これは私には間違いありません。ローカルマシンからの例外を受け取るだけで、プロダクションの例外はweb.configで設定された電子メールアドレスに送られます。
Web.configファイル
<system.net>
<mailSettings>
<smtp deliveryMethod="SpecifiedPickupDirectory">
<specifiedPickupDirectory pickupDirectoryLocation="c:\temp\" />
</smtp>
</mailSettings>
</system.net>
を変更することで、電子メールではなく、SMTPサーバーのローカルマシン上のピックアップフォルダに移動していたり、あなたのdevの上ご使用のMachine.config設定でこれを置くことができますWeb.configファイルに触れないでください。
- 1. ローカルメールアドレスにのみメールを送信するようにsendmailを設定する
- 2. asp.net MVC送信メールエラー:メール
- 3. smtp経由で送信するときに、Office365の送信者名をリモートから設定できないのはなぜですか?
- 4. Sensuの2つのターゲットに電子メールを送信するようにSaltを設定できますか?
- 5. java + spring MVCで電子メールエラーを送信する
- 6. CodeigniterがWebページで電子メールエラー404を送信する
- 7. elmah - 例外を電子メールで送信することはできません
- 8. エラーメッセージをつぶすようにElmahを設定するにはどうすればよいですか?
- 9. どのようにして浅い更新をプッシュできますか?リモートでreceive.shallowUpdateを設定しますか?
- 10. 電子メール通知を送信するようにDLQを設定できますか?
- 11. API.AI - API.AIリクエストを送信する前にターゲットインテントを設定できますか?
- 12. Node.js:リモートでフォームを送信する
- 13. 送信時にフォームでthis.valのみを送信しますか?
- 14. どのようにリモートURLにgraphqlクエリを送信しますか?
- 15. 郵送で送信者名を設定するにはどうすればよいですか?
- 16. ASP.NETのElmah設定に関するヘルプ
- 17. Elmahからメールを送信しますか?
- 18. 送信後にヘッダーを設定できません - ループ内で
- 19. WOL(UDP)はどのように送信できますか?
- 20. ローカルでテストするときにメールを送信するelmahを無効にするにはどうすればよいですか?
- 21. さらに「送信後にヘッダーを設定できません」
- 22. リモートでsshの指定ポートを使用するように設定
- 23. 特定のホストによるパッケージの送信を停止できますか?
- 24. MPIで送信するバッファを指定できますか?
- 25. HibernateでStatementInspectorをどのように設定できますか?
- 26. PhpStormは、ローカルのPHPUnit設定のみを実行します。どのようにリモート(ドッカー)を使用するように強制するのですか?
- 27. ExpressJS "エラー:送信後にヘッダーを設定できません。"
- 28. エラー:送信後にヘッダーを設定できません
- 29. Koa js:Err:送信後にヘッダーを設定できません。 mongoDB
- 30. エラー:送信後にヘッダーを設定できません。
VS 2010でconfigトランスフォームを使用するという解決策が見つかりました。私はベースのweb.configから ' 'タグを削除し、それをWeb.Qa.ConfigとWeb.Release.Configに変換タグで追加しました。私が公開すると、リモートマシンはメールがローカルに送信されている間にメールを送信することができます。私はこのルートに行くつもりですが、私はあなたの答えがいくつかupvotesを取得し、それに基づいて答えとしてマークします。 –
oscilatingcretin
私はデュアルweb.configソリューションについて知りませんでした。私はそれについてのScottGuの記事があることを知っているhttp://weblogs.asp.net/scottgu/archive/2007/09/21/tip-trick-automating-dev-qa-staging-and-production-web-config-settings- with-vs-2005.aspxを参照してください。私がこのような解決策を必要とした唯一の時は、上記のシナリオで、debug = trueをローカルではあるが、プロダクションではなく、machine.configにdeployment retail = "true"を入れて解決したいときでした。しかし、私はあなたのコメントを+1するので、上記の情報がいつか便利になると確信しています。 –