繁体   English   中英

如何在一个应用程序中使用剃刀运行 NancyFx 和 Mvc5?

[英]How to run NancyFx and Mvc5 with razor in one application?

我有基于 NancyFx (1.4.3) 和 Owin 的工作应用程序。 现在我想删除 NancyFx 并用 Mvc5 替换(增量)。 这些小步骤让我将来可以将整个项目移植到 asp.net 核心。 :)

我可以将 NancyFx 指定的路径传递给 MVC。 我的 Owin 启动配置如下所示:

public void Configuration(IAppBuilder app)
{
    app
        .MapSignalR()
        .UseNancy(o =>
        {
            o.PerformPassThrough = ctx =>
            {
                return ctx.Request.Path.StartsWith("/test");
            };
        })
        .UseStageMarker(PipelineStage.MapHandler)
    ;
}

多亏了这一点,我可以像往常一样运行我的应用程序。 mvc 控制器只会处理“测试”路径:

public class TestController : Controller
{
    [Route("test")]
    public ActionResult Index()
    {
        return View();
    }
}

我的主要问题是 Razor 配置如下: https : //github.com/NancyFx/Nancy/wiki/Razor-View-Engine#letting-razor-know-what-base-type-your-views-use

MVC 呈现的视图失败,因为:

The view at '~/Views/Home/Index.cshtml' must derive from WebViewPage, or WebViewPage<TModel>.

如何从 MVC 的一个文件夹和 NancyFx 的第二个文件夹配置和运行视图?

视图页面应该继承自System.Web.Mvc.WebViewPage 确保Index.cshtml包含以下行:

@inherits System.Web.Mvc.WebViewPage

该项目也应该引用System.Web.Mvc程序集。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM