POST GetAll方法不能清除以前的请求数据

问题描述:

现在我正在做一个测试API我使用Postman扩展来测试谷歌浏览器上的POST方法。 我在我的本地服务器中有一个数据库,我在框架4.0中使用VS2010。POST GetAll方法不能清除以前的请求数据

我的API现在有方法GetByID完美工作。

在每次发送新请求之前,它们都会清除数据,但是在发出POST请求时不会发生这种情况。

每次我做出请求的前一个结果停留在那里(如果我改变了请求的参数结果数保持不变但数据变化)。

private List<Employee> Employees = new List<Employee>(); 

SqlConnection con; 
SqlDataAdapter da; 
DataSet ds = new DataSet(); 

public IEnumerable<Employee> Post(string param1, string param2) 
{ 
    ds.Clear(); 
    con = new SqlConnection("Server=xxxx; Database=x; Trusted_Connection=True;"); 
    da = new SqlDataAdapter("select * from Employee", con);   
    da.Fill(ds); 

    foreach (DataRow dr in ds.Tables[0].Rows) 
    { 
     Employees.Add(new Employee() { 
          FirstName = dr[0].ToString(), 
          LastName = dr[1].ToString(), 
          Id = int.Parse(dr[2].ToString()), 
          Designation = dr[3].ToString() 
        }); 

    } 

    return Employees.Where(e => e.FirstName == param1) 
        .Where(e => e.LastName == param2); 
} 

我的员工控制器

static readonly EmployeeDetails repository = new EmployeeDetails(); 

[System.Web.Mvc.HttpPost] 
public IEnumerable<Employee> Search(string param1, string param2) 
{ 
    //Employee search = repository.Post(param1, param2); 
    IEnumerable<Employee> search = repository.Post(param1, param2); 
    if (search == null) 
    { 
     throw new HttpResponseException(HttpStatusCode.NotFound); 
    } 

    return search; 
} 

我一直在玩这个一整天,现在并没有发现任何解决问题的办法。 任何人都可以帮忙吗?

谢谢

+0

您使用的是Web API还是MVC? – James

+0

使用asp net mvc 4 web应用程序创建的项目,比选择web api – Jorge

+0

在这种情况下,您应该使用'System.Web.Http.HttpPost'属性,而不是MVC。 – James

玉家伙,这是第二个queston我张贴在计算器又一次的答案非常简单,真的很愚蠢。

变量员工是一个全球性的员工,我没有清理它,我只是在每次再次调用员工时都清理数据集。

我只需要添加Employees.Clear();

对不起,浪费时间:p

这可能是因为缓存尝试通过POST方法添加此属性

[OutputCacheAttribute(VaryByParam = "*", Duration = 0, NoStore = true)] 
+0

将mvc更改为http并添加了此项,每次请求POST方法时仍然保留结果:\ 它可能与数据集有关,但我找不到任何方法清除它:\ – Jorge

+0

好吧,这是第二个问题我发布在*和答案是非常简单,真的很愚蠢。 变量Employees是一个全局变量,我不清理它,我每次再次调用时都只清理数据集。 我只需要添加Employees.Clear(); 对不起,浪费时间:p – Jorge