2015-11-29 12 views
10

Ho un'applicazione ASP.NET 5 e vorrei usare OData v4 con esso.Come registrare OData con ASP.NET 5

Ecco che cosa ho provato:

1.I importati i seguenti pacchetti: Nuget

"Microsoft.AspNet.WebApi": "5.2.3", 
"Microsoft.AspNet.OData": "5.7.0", 
"Microsoft.AspNet.Hosting": "1.0.0-rc1-final" 

2.Called questo nel metodo Startup.Configure

GlobalConfiguration.Configure(ConfigOData); 

3.And finalmente questa è la configurazione 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)); 
} 

Ora le chiamate OData vengono elaborate dalla configurazione di routing di MVC (molto probabilmente perché non ho registrato correttamente OData con ASP.NET 5).

Qualcuno può aiutarmi con questo per favore?

+0

Sei disposto a utilizzare RC2? –

+1

Se riuscirà a completare il lavoro, sì. – Ayman

risposta

6

Ecco come possiamo configurare con il 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(); 
     } 
    } 
} 

Ecco come si può provare da soli. Avrete bisogno di avere the .NET Core SDK installed.

git clone [email protected]:bigfont/WebApi.git 

cd WebApi\vNext\src\Microsoft.AspNetCore.OData 
dotnet restore 

cd ..\..\samples\ODataSample.BigFont\ 
dotnet restore 
dotnet run 

Questo è il risultato a http://localhost:5000/odata

Result

Link

+0

Dove è definito "ISampleService"? – CodeGrue

+0

L'esempio BigFont non sembra più disponibile. Qualcuno sa dove c'è un campione OData ASP.NET funzionante? – CodeGrue

+0

@CodeGrue È qui https://github.com/bigfont/webapi –