0

現在、メールの送信に製品を使用しており、定期的に実行される多数の実行可能ファイルから送信しています。この製品では動的データの処理が非常に制限されているため、リストからテーブルが必要な場合は、C#コードでテーブルを作成し、HTMLを単一の変数として送信する必要があります。これにより、構成ファイルにHTMLが含まれるようになります。

同僚がこういうものを見て、使えるのではないかと思いました。そのため、実行可能ファイルでビューを作成し、それを文字列に変換するという概念実証を開発しようとしています(次に、電子メール製品の外部で電子メールを開発し、すべてを単一の文字列として送信します。

私の質問は次のとおりです。

1)これを行うためのより良い方法はありますか? MVCフレームワークを導入することは、確かに意図されたものではありません。使いやすく、より適した、私たちが望むことを実行する(動的な電子メールを簡単に作成できる)別の製品があれば、それは素晴らしいことです。

2)すべてのデータを偽造する必要がありますか? 偽のhttpコンテキストとそのすべてのジャズを作成すると、自分のやりたいことを実行できるようになります。

3)ViewModelに基づいて、ビューを文字列に変換する簡単な方法はありますか?

4

1 に答える 1

3

HTTPをまったく関与させる必要がない場合RazorEngineは、プロジェクトを使用してC#から直接Razorエンジンを実行できます。これを可能にする優れたプロジェクトがあります。https://github.com/Antaris/RazorEngine

これにより、Razorを(MVC固有のものではなく)汎用テンプレートエンジンとして使用できます。

GitHubの簡単な例:

string template = "Hello @Model.Name, welcome to RazorEngine!";
string result = Razor.Parse(template, new { Name = "World" });

または、HTTP経由でアクセスできるようにしたい場合は、ASP.NET Web APIASP.NETをまったく気にすることなく(セルフホストすることもできるため)、非常に軽量な方法でこれを比較的簡単に行うことができます。

WebApiContribRazorビューフォーマッタがすでに利用可能です-https://github.com/WebApiContrib/WebApiContrib.Formatting.RazorViewEngine

于 2013-01-22T17:46:06.567 に答える