2011-12-04 1 views
2

定期的に電子メールを送信するWindowsサービスがあります。MVC以外のプロジェクトでMvcMailerを使用する

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

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

どうすればよいですか?

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

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

私が見る唯一の選択肢は、Webプロジェクトにすべての作業を要求することですが、この方法では、サイトアプリケーションリソースを保存するためにWindowsサービスを別のサービスに配置することは効果的ではありません。 どうやったらいいですか?

答えて

0

私はサービスからmvcメーラーを呼び出すことは過度のことかもしれないと主張します。 mvcプロジェクトが他のすべてのソリューションの電子メールAPIの送信を公開することになっている場合は、REST APIを構築することが理にかなっています。しかし、単にWindowsサービスにアクションメソッドの機能を持たせたいのなら、私はインプロセスの機能コンポーネントを選択します。 mvcmailerアクションメソッドのロジックを別のアセンブリにリファクタリングできるのであれば、それを行うだけでなく、Windowsサービスソリューションのdepedencyとしてassemlbyを組み込むのはなぜですか? メーラの全面的な目的とウェブシナリオでの使用方法を提供できる場合は、より良いアーキテクチャを提供するのに役立ちます。

0

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

あなたの要求にはサイズの制約がありますが、それは問題ではありません。

+0

安らかなURLが適切に確保されていない場合、それはまた、本当に素敵なSPAMゲートウェイを作る覆われています。 –

+2

確かに、どんなsmtpサーバーもそうです:) –

関連する問題