在控制器ASP.net API

时间:2016-05-12 16:01:50

标签: c# asp.net-web-api

所以我正在尝试将用户数据从一个控制器传递到另一个控制器。我在这里读过很多关于它的信息---> http://www.dotnet-tricks.com/Tutorial/webapi/F2aL081113-Passing-multiple-complex-type-parameters-to-ASP.NET-Web-API.html这家伙似乎正在做我想做的事情,他正在使用.PostAsJsonAsync来做。

这是控制器1,它接收用户数据并基本上将其重新路由到另一个控制器以进行身份​​验证。

 public ActionResult IDB(IDBUser i)
    {

        HttpClient client = new HttpClient();
        client.BaseAddress = new Uri("http://localhost:64819");
        HttpResponseMessage result = client.PostAsJsonAsync("/api/Participant/Authenticate", i).Result;
        if (result.IsSuccessStatusCode)
        {
            return View();
        }
        else { // hits this breakpoint with 500 server error 
            return View("Index");

        }

    }

}

}

这似乎成功地让它到另一个控制器(下面),因为我得到500错误。但是,我在方法的开头就有一个断点,它似乎永远不会出现。

    [System.Web.Http.ActionName("Authenticate")]
    [System.Web.Http.HttpPost]
    public HttpResponseMessage Authenticate(IDBUser u)
    { //breakpoint it neve hits is on this line
       bool Authenticate = false;

        CredentialTester ct = new CredentialTester(u.password, u.username);
        bool isAuthenticatedInt = ct.IntTest();
        bool isAuthenticatedAcp = ct.AcpTest();

        if (isAuthenticatedInt == true || isAuthenticatedAcp == true)
        {
            Authenticate = true;
            return Request.CreateResponse(HttpStatusCode.OK, Authenticate);     
        }

        else Authenticate = false;
        return Request.CreateResponse(HttpStatusCode.NotAcceptable);   
    }

任何帮助都会受到赞赏。谢谢大家!

UPDATE :我能够看到错误,它列在这里:

{StatusCode:500,ReasonPhrase:'Internal Server Error',Version:1.1,Content:System.Net.Http.StreamContent,Headers:{Pragma:no-cache X-SourceFiles:=?UTF-8?B? ?QzpcVXNlcnNcYTU4NDYxOVxEb2N1bWVudHNcYXAxMDk1MTQtcWEtYXVvdG1hdGlvblxXaVFhLlZhbC1JZFxNVkNcV2lRYS5WYWwtSWQuV2ViU2VydmljZVxXaVFhLlZhbC1JZC5XZWJTZXJ2aWNlXFdpUWEuVmFsLUlkLldlYlNlcnZpY2VcYXBpXFBhcnRpY2lwYW50XEF1dGhlbnRpY2F0ZQ == =访问控制允许来源:*访问控制允许报头:内容类型,接受访问控制允许的方法:GET,POST,PUT,DELETE,OPTIONS的Cache-Control:NO-缓存日期:星期四,2016年5月12日17:07:39 GMT服务器:Microsoft-IIS / 8.0 X-AspNet-版本:4.0.30319 X-Powered-By:ASP.NET内容长度:2307内容类型:application / JSON; charset = utf-8到期:-1}}

我的Access-Control-Origin看起来有问题。我已经在我的web.config文件中进行了适当的调整(之前我遇到过类似的错误),但没有运气。

0 个答案:

没有答案