【发布时间】:2015-07-30 23:32:53
【问题描述】:
我的 OData 方法如下所示。第一种方法效果很好。但是第二种方法会抛出 404 Not found 错误。
[EnableQuery]
public IQueryable<Personal> GetPersonalDetailsFull()
{
return db.PersonalDetails;
}
[EnableQuery]
public SingleResult<Personal> GetPersonalDetail([FromODataUri] int key)
{
var data = db.PersonalDetails.Where(personalDetail => personalDetail.AutoId == key).AsQueryable();
return SingleResult.Create(data);
}
我的处理程序的 web.config 设置如下所示
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="/odata/*" verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
当我提出请求时
http://localhost:56234/odata/PersonalDetailsFull - 这可以正常工作并获取所有数据
当我创建http://localhost:56234/odata/PersonalDetailsFull(16) 时,它显示在提琴手和客户端中未找到 404。
非常感谢任何帮助。
【问题讨论】:
-
我尝试了不同的方法,但没有运气。想知道处理程序是否不接受括号“(16)”,不确定。但是路径是“/odata/*”所以这不应该是问题。