我有一个ASP.NET 5应用程序,我想使用它的OData v4.
这是我试过的:
我导入以下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);
最后这是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的结果
链接
> The repository in GitHub.
> The ISampleService in GitHub.
