我想這篇文章在這裏描述的解決方案: Original articleODATA沒有元數據操作不工作
如上所述我所做的:
var defaultConventions = ODataRoutingConventions.CreateDefault();
var conventions = defaultConventions.Except(
defaultConventions.OfType<MetadataRoutingConvention>());
config.MapODataServiceRoute(
routeName: "ODataRoute",
routePrefix: null,
model: model,
pathHandler: new DefaultODataPathHandler(),
routingConventions: conventions);
一切工作正常,沒有更多的元數據信息。標準的請求工作好了,但未綁定的動作和功能不再工作,我得到了404響應。
我註冊的行爲像OData的模型構造器:
var validateEmailAction = builder.Action("ValidateEmail");
validateEmailAction.Parameter<string>("Email");
而且在控制我有:
[HttpPost]
[ODataRoute("ValidateEmail")]
public async Task<IHttpActionResult> ValidateEmail(ODataActionParameters parameters)
{
}
任何建議,我怎麼能達到隱藏Odatametada但仍然有動作/功能的工作?
您是否錯過了url中的命名空間或忘記打開EnableUnqualifiedNameCall? –