HttpResponseMessage中的非泛型类型错误

时间:2012-08-29 14:33:50

标签: asp.net-mvc-4

我刚刚将MVC4 WebAPI从beta更新为RC,现在这部分代码无效。 我从这里读到: 我必须使用http://social.msdn.microsoft.com/Forums/en-US/wcf/thread/e90d582a-7023-44a1-b311-4fe1370b0314/

Request.CreateResponse(HttpStatusCode.OK, Response)

然而,没有CreateResponse的实现需要两个参数?所以我想知道如何继续修复这个部分?

public HttpResponseMessage<Response> Login(string username, string password)
{
       ApiResponse<string> user = am.LogOn(username, password);
       System.Diagnostics.Debug.WriteLine(username + " - " + password);
       System.Diagnostics.Debug.WriteLine("User status is: " + user.Status);

       switch (user.Status)
       {   
           case ResponseStatus.OK:
              System.Diagnostics.Debug.WriteLine(user.Value);
              return new HttpResponseMessage<Response>(new Response { Token = user.Value, ValidTo = user.ValidTo });
           default:
              return new HttpResponseMessage<Response>(HttpStatusCode.Forbidden);
       }
 }

1 个答案:

答案 0 :(得分:0)

  

但是没有CreateResponse的实现,它有两个参数?

当然,there is

public HttpResponseMessage Login(string username, string password)
{
    ApiResponse<string> user = am.LogOn(username, password);
    System.Diagnostics.Debug.WriteLine(username + " - " + password);
    System.Diagnostics.Debug.WriteLine("User status is: " + user.Status);

    switch (user.Status)
    {   
        case ResponseStatus.OK:
            System.Diagnostics.Debug.WriteLine(user.Value);
            return Request.CreateResponse(
                HttpStatusCode.OK, 
                new Response { Token = user.Value, ValidTo = user.ValidTo }
            );
         default:
             return Request.CreateResponse(HttpStatusCode.Forbidden);
    }
}