推荐在aspnet核心1

时间:2016-02-20 09:15:36

标签: asp.net-core asp.net-core-mvc asp.net-core-1.0

我正在尝试创建一个UI中间件,并想知道推荐的方法是什么。

我应该在我的中间件中再次执行AddMVC并为其提供自定义路由,还是通过嵌入资源来实现。

我试图在我的中间件中创建一个MVC,我可以使用自定义路由命中控制器,但不能在我的中间件项目中查看视图。示例网站似乎总是只查看主MVC视图文件夹。

如果您需要更多信息,请告诉我,我会相应地更新问题。

1 个答案:

答案 0 :(得分:0)

尝试使用嵌入视图。你需要添加:

"buildOptions": { "embed": [ "Views/**" ] },

然后你应该告诉mvc查看嵌入文件

services
    .AddMvc()
    .AddRazorOptions(
       o =>
       {
         o.FileProviders.Add(new EmbeddedFileProvider(yourAssembly, yourAssembly.GetName().Name));
       }
    );

您也可以尝试申请部分:

AssemblyPart part = new AssemblyPart(yourAssembly);
mvcBuilder.ConfigureApplicationPartManager(manager =>
{
    manager.ApplicationParts.Add(part);
});

foreach (var applicationPart in mvcBuilder.PartManager.ApplicationParts)
{
    var assemblyPart = applicationPart as AssemblyPart;
   if (assemblyPart != null)
   {
       mvcBuilder.AddRazorOptions(options =>
       {
           options.FileProviders.Add(new EmbeddedFileProvider(assemblyPart.Assembly, applicationPart.Name));
       });
   }
}

希望有所帮助