为啥断点不在 odata Web api 应用程序上运行?
Posted
技术标签:
【中文标题】为啥断点不在 odata Web api 应用程序上运行?【英文标题】:Why doesn't breakpoint run on odata Web api application?为什么断点不在 odata Web api 应用程序上运行? 【发布时间】:2014-06-27 06:11:38 【问题描述】:我在 web api 中创建了 Odata 服务。我在 GetFavoriteStation 上设置了一个断点。但它不工作。 我的域名:127.0.0.1
我将此 URL 称为:mydomain/odata/2013-06/X(guid'23C868DC-07FE-4AC4-B399-D4E76EDE9F0C') 但它不工作。它返回给我错误。错误:找不到资源。
[AllowAnonymous]
public class XController : EntitySetController<X, Guid>
[Queryable]
public X GetX([FromODataUri]Guid id)
X x= null;
查看 App_Start 文件
WebApiConfig.cs
namespace Y.Z
public static class WebApiConfig
public static void Register(HttpConfiguration config)
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/2013-06/controller/id",
defaults: new id = RouteParameter.Optional
);
【问题讨论】:
【参考方案1】:我发现这些很可疑:
-
实体集 X 未在构建器中定义
也许应该替换 config.Routes.MapODataRoute("ODataRoute", "odata/2013-06", model); with config.Routes.MapODataRoute("ODataRoute", "odata-2013-06/*", model);
如果是 odata 服务,则无需这样做:
config.Routes.MapHttpRoute( 名称:“默认API”, routeTemplate: "api/2013-06/controller/id", 默认值:新 id = RouteParameter.Optional );
【讨论】:
以上是关于为啥断点不在 odata Web api 应用程序上运行?的主要内容,如果未能解决你的问题,请参考以下文章
如何在自托管 Web API 应用程序中配置 OData 端点
使用 $expand 时的 Web API OData 媒体类型格式化程序
Web API OData V3 `$inlinecount` 失败