2014-09-09 2 views
0

У меня есть образец из MS для службы OData. вот уместна код:Сделать работу службы OData в IIS

 using (WebApp.Start(_baseAddress, Configuration)) 
     {...} 

и

public static void Configuration(IAppBuilder builder) 
    { 
     HttpConfiguration config = new HttpConfiguration(); 
     config.MapODataServiceRoute(routeName: "OData", routePrefix: "odata", model: GetModel()); 
     builder.UseWebApi(config); 
    } 

с

private static IEdmModel GetModel() 
    { 
     ODataConventionModelBuilder builder = new ODataConventionModelBuilder(); 
     builder.EntitySet<Product>("Products"); 
     return builder.GetEdmModel(); 
    } 

Это прекрасно работает и контроллер Products отлично. Теперь я пытаюсь переместить его в веб-проект для работы в IIS, но я получаю пустой документ. Мне удалось проследить его до линии

builder.UseWebApi(config); 

По крайней мере, когда я прокомментирую эту строку, она дает то же поведение. Образец от https://aspnet.codeplex.com/SourceControl/latest#Samples/WebApi/OData/v4/ODataOpenTypeSample/, поскольку я пытаюсь использовать DynamicProperties на моих возвращаемых объектах.

Вот код для моего IIS WebApiConfig проекта:

 public static void Register(HttpConfiguration config) 
     { 
      // Web API routes 
      config.MapHttpAttributeRoutes(); 
      config.MapODataServiceRoute(routeName: "OData", routePrefix: "odata", model: GetModel()); 
     } 

     private static IEdmModel GetModel() 
     { 
      ODataConventionModelBuilder builder = new ODataConventionModelBuilder(); 
      builder.EntitySet<Product>("Products"); 
      var edmModel = builder.GetEdmModel(); 
      return edmModel; 
     } 

ответ

Смежные вопросы