C# OWIN自宿主冲突路由中的Nancy和WebAPI
我第一次和OWIN一起做了一些工作,并试图设置一些东西,以便我可以利用Web API和属性路由为后端服务,我想使用Nancy作为一个简单的文件服务器来提供我的angular SPA代码 我的OWIN启动代码:C# OWIN自宿主冲突路由中的Nancy和WebAPI,c#,asp.net-web-api,owin,nancy,C#,Asp.net Web Api,Owin,Nancy,我第一次和OWIN一起做了一些工作,并试图设置一些东西,以便我可以利用Web API和属性路由为后端服务,我想使用Nancy作为一个简单的文件服务器来提供我的angular SPA代码 我的OWIN启动代码: public class Startup : IOwinAppBuilder { public void Configuration(IAppBuilder appBuilder) { var config = new HttpConfiguration()
public class Startup : IOwinAppBuilder
{
public void Configuration(IAppBuilder appBuilder)
{
var config = new HttpConfiguration();
config.MapHttpAttributeRoutes();
//FormatterConfig.ConfigureFormatters(config.Formatters);
config.Formatters.Clear();
config.Formatters.Add(new JsonMediaTypeFormatter());
config.Formatters.JsonFormatter.SerializerSettings =
new JsonSerializerSettings
{
ContractResolver = new CamelCasePropertyNamesContractResolver()
};
//appBuilder.UseNancy();
appBuilder.UseWebApi(config);
}
}
我为属性路由设置了一个测试控制器,其中一些端点经过了适当的修饰。此时,运行应用程序并尝试命中其中一个端点将返回预期结果
然后我试着把南希加到等式中。我添加了一个Nancy模块,旨在提供角度内容:
public class HomeModule : NancyModule
{
public HomeModule()
{
Get["/"] = _ => View["home"];
}
}
在启动和运行服务器时,取消对appBuilder.UseNancy()中的
appBuilder.UseNancy()行的注释非常有助于获得主视图。然而,现在当我尝试访问其中一个API端点时,Nancy似乎正在介入并处理请求,并返回404页而不是API结果。有没有办法让Nancy和WebAPI配合得很好,这样他们的路线就不会像这样冲突 您是否测试了PerformPassThrough或PassThroughHenStatusCodes in Useancy()方法
它记录在owin托管nancy的条件传递部分。()为什么需要两个框架来解决一个问题。使用Nancy或Web API。不,我不知道这些重载,但它们看起来很有前途。明天我会尝试一下,如果成功的话,我会把这个作为答案。谢谢:D