$元数据 url returns 404 与 Microsoft.AspNetCore.OData 8.0.0-rc2
$Metadata url returns 404 with Microsoft.AspNetCore.OData 8.0.0-rc2
从 7.5.8
更新到 Microsoft.AspNetCore.OData
到 8.0.0-rc2
后,~/odata/$metadata
url 不再工作,它只是 returns 404 - Not found.
在我提交错误之前,我的配置是否有误?
我关注了this blog and the somewhat updated documentation in the Git repo。
这是我 7.5.8
的原 Startup.cs
:
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddRouting();
services.AddOData();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapODataRoute("odata", "odata", GetEdmModel());
});
}
}
这里我为 8.0.0-rc2
更改了 Startup.cs
:
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddControllers().AddOData(opt => opt.AddModel("odata", GetEdmModel()));
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
}
}
(我删除了没有改变的无关部分。)
我找到了解决方案:
我不得不将 csproj 文件中的 sdk 从 Microsoft.NET.Sdk.Worker
更改为 Microsoft.NET.Sdk.Web
。
(基本上该项目是一个 .NET 5 SDK-style Windows Service / BackgroundWorker,其中包含 Asp.Net Core API。)
这似乎不是 8 之前的早期版本的问题。*
从 7.5.8
更新到 Microsoft.AspNetCore.OData
到 8.0.0-rc2
后,~/odata/$metadata
url 不再工作,它只是 returns 404 - Not found.
在我提交错误之前,我的配置是否有误?
我关注了this blog and the somewhat updated documentation in the Git repo。
这是我 7.5.8
的原 Startup.cs
:
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddRouting();
services.AddOData();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapODataRoute("odata", "odata", GetEdmModel());
});
}
}
这里我为 8.0.0-rc2
更改了 Startup.cs
:
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddControllers().AddOData(opt => opt.AddModel("odata", GetEdmModel()));
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
}
}
(我删除了没有改变的无关部分。)
我找到了解决方案:
我不得不将 csproj 文件中的 sdk 从 Microsoft.NET.Sdk.Worker
更改为 Microsoft.NET.Sdk.Web
。
(基本上该项目是一个 .NET 5 SDK-style Windows Service / BackgroundWorker,其中包含 Asp.Net Core API。)
这似乎不是 8 之前的早期版本的问题。*