2

定期的にメールを送信することになっているWindowsサービスがあります。

Windowsサービスプロジェクトの隣には、MvcMailerで(美しく)電子メールを送信しているMVC3プロジェクトがあります。

同じエンジンを使用して、Windowsサービスの電子メールを送信したいと思います。

どうすればいいですか?

MVCバイナリをインポートし、この目的のために1つのコントローラーと新しいビューを作成しますか?それは機能しますか?

これをデータベースに保存し、Webプロジェクトに電子メールの送信を要求することは、情報がクエリの結果であり、要求で送信するには大きすぎるため、最善の解決策ではない可能性があります。

私が見る他の唯一のオプションは、単にWebプロジェクトにすべての作業を要求することですが、この方法では、Windowsサービスを別のサービスに配置してサイトアプリケーションのリソースを節約することは有益ではありません。どうしますか?

4

3 に答える 3

4

MVCメールの代わりに、ActionMailer.NETをMVCの外部でスタンドアロンで使用できるようになりました。

詳細はこちら

http://geeksharp.com/2011/07/06/actionmailer-0-6-released/

于 2012-07-21T04:27:25.037 に答える
0

なぜmvcmailerに送信するクエリが大きすぎると思いますか?メーラーMVCプロジェクトがすでに機能していて、RESTful URLを介して公開されている場合、それがメールサービスになり、サービスからのWebリクエストとして呼び出すだけです。

あなたはあなたの要求でサイズの制約を回避することができますそれは問題ではないはずです。

于 2011-12-04T19:23:31.350 に答える
0

サービスからMVCメーラーを呼び出すのはやり過ぎかもしれないと私は主張します。mvcプロジェクトが、他のすべてのソリューションの電子メールAPIの送信を公開することになっている場合は、RESTAPIを構築することが理にかなっている可能性があります。ただし、アクションメソッドの機能をWindowsサービスに提供したいだけの場合は、処理中の機能コンポーネントを選択します。mvcmailerアクションメソッドのロジックを別のアセンブリにリファクタリングできる場合は、それを実行してから、そのアセンブリをWindowsサービスソリューションの依存関係として含めてください。メーラーの全体的な目的と、それがWebシナリオでどのように使用されるかを提供できれば、より優れたアーキテクチャーを提供するのに役立つ可能性があります。

于 2011-12-05T01:33:28.633 に答える