servicestack,Razor,Asp.net Core,servicestack" /> servicestack,Razor,Asp.net Core,servicestack" />

Razor Servicestack迁移到核心、回退路由器和HandlerFactoryPath

Razor Servicestack迁移到核心、回退路由器和HandlerFactoryPath,razor,asp.net-core,servicestack,Razor,Asp.net Core,servicestack,我正在将代码迁移到核心应用程序 到目前为止还不错。我把它全部运行起来了,但有一个问题 我有一个用户界面(带有razor)并使用CatchAllHandlers。对于api,我使用了HandlerFactoryPath作为URL的前缀 现在我有两个问题: 似乎没有使用CatchAllHandlers 仅当路线以HandlerFactoryPath开始时才处理路线 第二个问题是可以解决的,但如何解决第一个问题 我是制作自己的中间件还是servicestack支持其他方法来实现这一点?Catcha

我正在将代码迁移到核心应用程序

到目前为止还不错。我把它全部运行起来了,但有一个问题

我有一个用户界面(带有razor)并使用
CatchAllHandlers
。对于api,我使用了
HandlerFactoryPath
作为URL的前缀

现在我有两个问题:

  • 似乎没有使用
    CatchAllHandlers
  • 仅当路线以HandlerFactoryPath开始时才处理路线
第二个问题是可以解决的,但如何解决第一个问题


我是制作自己的中间件还是servicestack支持其他方法来实现这一点?

CatchallHandler
是在.NET内核中执行的,这也是servicestack的功能

指定
HandlerFactoryPath
,例如:

SetConfig(new HostConfig {
    HandlerFactoryPath = "api"
});
告诉ServiceStack您只想侦听来自
/api
路径信息的请求。所有其他请求都通过ServiceStack传递,ServiceStack在未配置为处理路由时,根据.NET Core的约定调用.NET Core管道中的下一个模块

不确定它是否与您的解决方案相关,但在ServiceStack.NET Core中,您可以注册一个,例如,您可以通过在ServiceStack之后注册它,为ServiceStack未处理的每个请求返回一个
/default.cshtml
内容页面:

app.UseServiceStack(new AppHost());

app.Use(new RazorHandler("/default"));

当我移除HandlerFactoryPath时,catchall路由似乎起作用了。我现在正在尝试使用(在class.mvc.viewPage的子类中)呈现一个部分