【发布时间】:2014-09-10 08:27:16
【问题描述】:
我有一个来自 MS 的 OData 服务示例。这是相关的代码:
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();
}
这很好用,产品控制器也很棒。我现在正试图将其移至 Web 项目以在 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;
}
【问题讨论】: