我有一个MVC 5 Web Api和一个连接它的桌面应用程序.
我有一个控制器,并从应用程序连接到它没有任何问题,但当我将该[Authorize]
属性放在控制器中时,httpclient
桌面应用程序停止工作,并说没有MediaTypeFormatter可用.
我认为HttpClient工作正常,我尝试使用请求标头定义身份验证:
httpClient.DefaultRequestHeaders.Authorization
并使用这种方式httpclient = new HttpClient(new HttpClientHandler { Credentials = new NetworkCredential("UserName", "password") });
.
在使用MVC 4的传递中,它适用于身份验证.
在这种情况下,使用MVC 5,它在使用Anonymous时工作得很好,但是当我进行身份验证时,我得到了这个例外 httpresponse.Content.ReadAsAsync
No MediaTypeFormatter is available to read an object of type 'Dictionary`2' from content with media type 'text/html'.
我应该在哪里看到?
更新
我将httpResponse作为字符串读取,以查看httpclient的内容,并在字符串中输入登录页面的HTML.显然,身份验证失败,MVC + API重定向到登录页面.我现在应该怎么做?为什么身份验证不像以前的MVC 4 Web API那样有效?是因为新的OWIN认证?