-2
   #if DEBUG
                        mailMessage = new MailMessage("someEmail.com", "someEmail.com", subject, messsageBody);
   #else
                        mailMessage = new MailMessage(Membership.GetUser().Email, cppAccount.Email, subject, messsageBody);
   #endif

上記のコードがありますが、リリース時に公開してもデバッグ ステートメントが使用されます。これは mvc4 c# プロジェクトで、このコードは私のモデル クラスの 1 つです。

4

2 に答える 2

2

それはあなたがしようとしていることをする最善の方法ではありません。たとえば、アプリ設定を使用して web.config でこれを行う必要があります。

<add key="MailMessageEnabled" value="true" />

そして、csファイルで次のようにします-

bool isEnabled = bool.Parse(ConfigurationManager.AppSettings["MailMessageEnabled"]);
mailMessage = isEnabled ? new MailMessage(Membership.GetUser().Email, cppAccount.Email, subject, messsageBody) 
            : new MailMessage("someEmail.com", "someEmail.com", subject, messsageBody);

また、デフォルトの Web 構成では構成の値を true に、リリース Web 構成では false にすることができます。

于 2014-06-06T21:36:52.230 に答える
1

MoXplodが言うように、web.configファイルでそれを行う必要がありますが、開発に必要な値を使用してデバッグ用のweb.configファイルを作成し、web.Release.configで変換を使用する方が良いと思いますPROD 環境で必要な値を持つことができます。変換に関する情報については、http://msdn.microsoft.com/en-us/library/dd465326 (v=vs.110).aspx を確認してください。

于 2014-06-06T21:43:26.637 に答える