【发布时间】:2015-06-02 14:06:02
【问题描述】:
我有一个使用 ADO.NET Framework 的 OData web api,其中控制器操作以某种方式无法实现。
API 正确接收 HTTP 请求并对其进行解析以执行正确的操作,但未到达该操作。
作为回报,Chrome 浏览器会显示身份验证窗口。
我调试了这么久,但不知道如何解决这个问题。
控制器是(剥离版):
public class DataController : ODataController
{
private readonly DataModel DataAccessModel = new DataModel();
public DataController()
{
.......
}
[HttpGet, EnableQuery]
public IQueryable<Record> GetRecord(ODataQueryOptions<Record> options)
{
try
{
IQueryable<ActivationRequestLog> result;
try
{
result = DataAccessModel.Recordss;
}
catch (Exception ex)
{
......
}
}
}
}
【问题讨论】:
-
您的项目中的 Startup.Auth 类中是否设置了 Windows 身份验证?
-
尝试在方法顶部添加 [AllowAnonymous]?
-
[HttpGet]属性是否自动将任何函数映射到 OData GET 函数?如果没有,请尝试使用public IQueryable<Record> Get(ODataQueryOptions<Record> options)而不是public IQueryable<Record> GetRecord(ODataQueryOptions<Record> options)。如果您提供WebApiConfig,那也很好。
标签: c# .net asp.net-mvc visual-studio odata