2014-12-09 32 views
6

Şu anda, maceracı birinin bu engelle uğraştığını umuyordum, , ASP.Net v5.0 üzerinde çalışan MVC 6 için şu anda OData'yı yüklemek için bulabileceğim herhangi bir hizmet yok. boru hattı. App.UseMvc() yöntemini çağırıyorum ve kural yönlendirme yapılandırabilir, ancak yeni işlemde HttpConfiguration nesnesini tanımlayamıyorum. MVC 6'da birleşik MVC/WebApi ile çalışmayı umuyordum ama OData v4 bir oyun değiştiricidir. Herkes deneyimi olmuştur ve doğru yönde işaret olsaydıMVC 6 içine OData v4 enjekte etme

tavsiye lütfen:

using System; 
using Microsoft.AspNet.Builder; 
using Microsoft.AspNet.Http; 
using Microsoft.Data.OData; 
// Won't work, but needs using System.Web.OData.Builder; 
using Microsoft.Framework.DependencyInjection; 

namespace bmiAPI 
{ 
    public class Startup 
    { 
     public void Configure(IApplicationBuilder app) 
     { 

      app.UseWelcomePage(); 
      app.UseMvc(); 

     } 

     public void ConfigureServices(IServiceCollection services) 
     { 
      services.AddMvc(); 

     } 
    } 
} 
+0

Sadece bir kenara olarak, MVC 6 ile System.Web.Http herhangi okuduğunuz merak Owin bağlam olduğunu değiştirir eğer Microsoft.Aspnet.Http ile. –

cevap

3

ASP.NET MVC 6:

Burada büyük ölçüde yardımcı olabilir, ancak olmayabilir benim Başlangıç ​​sınıftır henüz OData'yı desteklemiyor. ASP.NET'te OData'yı barındırmak için şu anda hem OData v3 hem de OData v4'ü destekleyen ASP.NET Web API 2.x kullanılmasını öneriyorum. Bir ASP.NET 5 app OData kullanmak istiyorsanız

, sen ASP.NET 5 Web API 2.x barındırmak için OWIN bridge kullanabilirsiniz, ama yine de

MVC 6. kullanarak olmayacak

ardından (yukarıda belirtilen köprü dayanarak) gibi bazı kod olurdu:

public void Configure(IApplicationBuilder app) 
{ 
    // Use OWIN bridge to map between ASP.NET 5 and Katana/OWIN 
    app.UseAppBuilder(appBuilder => 
    { 
     // Some components will have dependencies that you need to populate in the IAppBuilder.Properties. 
     // Here's one example that maps the data protection infrastructure. 
     appBuilder.SetDataProtectionProvider(app); 


     // Configure Web API for self-host. 
     HttpConfiguration config = new HttpConfiguration(); 
     config.Routes.MapHttpRoute( 
      name: "DefaultApi", 
      routeTemplate: "api/{controller}/{id}", 
      defaults: new { id = RouteParameter.Optional } 
     ); 

     appBuilder.UseWebApi(config); 
    }; 
} 
+0

Daha fazla ara katman oluşturmada daha fazla deneyim kazanmak için zaman kazanmak için yeterince çalışmaya başlıyorum; Yeni yönden gördüğüm her şey canlandırıcı! Ayrıca, bu sayfaya rastlamanız durumunda da yardımcı olabilirsiniz - tüm istekleri yönetilen modüllerle eşlemek istemiyorsanız (IIS'yi yeniden yazamazsınız) ya da sınıf kitaplıklarını kullanmak istiyorsanız ve yine de üretiyorsanız HTTP katmanlı OData v4 çalıştırmak için güzel bir küçük sunucu fabrikası. Şu anda .Net'te OData4 gidiş dönüş yolculuğunda daha fazla destek buldum ve iyi cevabı takdir ediyorum –

İlgili konular