私はいくつかのWebインターフェイスを提供するいくつかの動的に読み込まれたアセンブリを用意する予定です。ApiControllerとRazorビュー
これらのアセンブリ内にいくつかのWebApiコントローラを配置することにしました。これらのコントローラの一部は、カスタムMediaTypeFormatterを使用してインラインRazorテンプレートを使用してhtmlビューを提供できます。 それは、これまでインラインカミソリテンプレートと非常によく動作します:
var myModel = new {Name:"World"};
var template = "Hello, @Model.Name!";
return Razor.Parse(template, myModel);
しかし、私が持っている問題は、私は私のアセンブリの内側に配置された外部カミソリビュー(.cshtmlファイル)を登録/使用する方法を見つけ出すことはできませんです。
私がこれまでに以下のことを試してみました:
var template = Razor.Resolve("MyView.cshtml", myModel);
return template.Run(new ExecuteContext());
しかし、私のtemplate
変数がMyView.cshtmlが登録されていないか、正しく参照されない、見つからないことを、私の推測null
です。
ビルドアクションを設定しましたか:Visual Studioでcshtmlファイル用の '組み込みリソース'を設定しましたか?テンプレートを正しいアセンブリから解決する 'TemplateService'を使って' Razor.SetTemplateService'を設定しましたか? – nemesv
@nemesv、そうではありません。テンプレートを解決する 'TemplateService'の実装方法を正しい方向に押してくれますか?ありがとう。 –
これは私がどのようにそれがhttps://github.com/darrelmiller/HypermediaApiSite/blob/master/HypermediaApiContent/Tools/EmbeddedResolver.cs –