我有一个 ASP.NET 5 应用程序,我想在其中使用 OData v4。
这是我尝试过的:
1.我导入了以下nuget包:
"Microsoft.AspNet.WebApi": "5.2.3",
"Microsoft.AspNet.OData": "5.7.0",
"Microsoft.AspNet.Hosting": "1.0.0-rc1-final"
2.在Startup.Configure
方法中调用此方法
GlobalConfiguration.Configure(ConfigOData);
3.最后这是 OData 配置
private static void ConfigOData(HttpConfiguration config)
{
ODataConventionModelBuilder builder = new ODataConventionModelBuilder();
var EDM = builder.GetEdmModel();
//OData v4.0
config.MapODataServiceRoute("odata", "odata", EDM,
new DefaultODataPathHandler(),
conventions,
new DefaultODataBatchHandler(GlobalConfiguration.DefaultServer));
}
现在 OData 调用正在由 MVC 的路由配置处理(很可能是因为我没有正确向 ASP.NET 5 注册 OData)。
有人可以帮我解决这个问题吗?
最佳答案
以下是我们如何使用 ASP.NET Core RC2 OData. 配置它
namespace ODataSample
{
using Microsoft.AspNetCore.OData.Extensions;
using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.DependencyInjection;
using ODataSample.Models;
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
services.AddOData<ISampleService>();
}
public void Configure(IApplicationBuilder app)
{
app.UseOData("odata");
app.UseMvc();
}
}
}
您可以自行尝试以下方法。您需要 the .NET Core SDK installed.
git clone git@github.com:bigfont/WebApi.git
cd WebApi\vNext\src\Microsoft.AspNetCore.OData
dotnet restore
cd ..\..\samples\ODataSample.BigFont\
dotnet restore
dotnet run
这是 http://localhost:5000/odata
的结果
链接
关于asp.net-core - 如何使用 ASP.NET 5 注册 OData,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33986163/