0

Asp.NetMVC2を使用して電子メールとして送信するビューをレンダリングする必要があります。

新しいHtml.Partialメソッドを使用すると、ビューを文字列にレンダリングして、コントローラーまたはビュー(htmlヘルパーまたはコントローラーコンテキストにアクセスできる場所)から実行する限り、電子メールとして送信するのが簡単です。

バックグラウンドサービスを使用して遅延メールを送信できるようにする必要があります。コントローラーの場合と同じ方法でレンダリングしたいのですが、Htmlヘルパーまたはコントローラーコンテキストにアクセスできません。

ViewPageクラスを使用して独自のメソッドを作成し、そのレンダリングメソッドmyslefを呼び出して文字列ライターを渡そうとしました。問題は、htmlヘルパーのビューコンテキストがないため、htmlヘルパーまたはurlヘルパーを使用しないビューしかレンダリングできないことです。

何か案は。

ありがとう

4

2 に答える 2

1

MVCContrib には役立つものがあります

http://github.com/mvccontrib/MvcContrib/blob/master/src/MVCContrib/Services/EmailTemplateService.cs

于 2010-02-03T16:10:29.673 に答える
0
ThreadPool.RegisterWaitForSingleObject(new ManualResetEvent(false), 
    (state, timeout) => 
    {
        var context = (HttpContext)state;
        // Use the context here
    }, HttpContext, TimeSpan.FromSeconds(10), true);
于 2010-02-03T13:24:47.620 に答える