Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET Web API中的控制器操作未到达_C#_.net_Asp.net Mvc_Visual Studio_Odata - Fatal编程技术网

C# ASP.NET Web API中的控制器操作未到达

C# ASP.NET Web API中的控制器操作未到达,c#,.net,asp.net-mvc,visual-studio,odata,C#,.net,Asp.net Mvc,Visual Studio,Odata,我有一个使用ADO.NET框架的OData web api,在这个api中,控制器的动作不知何故无法达到 API正确地接收HTTP请求并对其进行解析以转到正确的操作,但未到达该操作 作为回报,chrome浏览器显示身份验证窗口 我已经调试了很长时间,但不知道如何解决这个问题 控制器为(剥离版本): 公共类数据控制器:ODataController { 私有只读数据模型DataAccessModel=新数据模型(); 公共数据控制器() { ....... } [HttpGet,EnableQu

我有一个使用ADO.NET框架的OData web api,在这个api中,控制器的动作不知何故无法达到

API正确地接收HTTP请求并对其进行解析以转到正确的操作,但未到达该操作

作为回报,chrome浏览器显示身份验证窗口

我已经调试了很长时间,但不知道如何解决这个问题

控制器为(剥离版本):

公共类数据控制器:ODataController
{
私有只读数据模型DataAccessModel=新数据模型();
公共数据控制器()
{
....... 
}
[HttpGet,EnableQuery]
公共IQueryable GetRecord(ODataQueryOptions选项)
{
尝试
{
可预测的结果;
尝试
{
结果=DataAccessModel.Records;
}
捕获(例外情况除外)
{
......
}
} 
} 
}

能否显示控制器是如何在WebApiConfig类中注册的

如果您使用的是ODataConventionModelBuilder,则必须遵循实体集控制器的某些命名约定

e、 g.如果我注册了航空公司类型的航空公司实体集

        builder.EntitySet<Airline>("Airlines");
builder.EntitySet(“航空公司”);
..那么默认情况下/约定我需要实现

public class AirlinesController : ODataController<Airline>
   {
        [EnableQuery]
        public IQueryable<Airline> Get()
        {
            DB db = Request.GetContext();
            return db.Airlines();
        }
   }
公共级航线控制器:ODataController
{
[启用查询]
公共IQueryable Get()
{
DB=Request.GetContext();
return db.Airlines();
}
}

在启动时,您的项目中是否有Windows Auth设置。Auth类?尝试在方法顶部添加[AllowAnonymous]。
[HttpGet]
属性是否自动将任何函数映射到OData GET函数?如果没有,请尝试使用
public IQueryable-Get(ODataQueryOptions选项)
而不是
public IQueryable-GetRecord(ODataQueryOptions选项)
。如果您提供
WebApiConfig
,也会很好。
public class AirlinesController : ODataController<Airline>
   {
        [EnableQuery]
        public IQueryable<Airline> Get()
        {
            DB db = Request.GetContext();
            return db.Airlines();
        }
   }