使用WebAPI的C#Windows通用应用程序给出未经授权的响应
我正在尝试使用Visual Studio 15在windows 10上的windows通用应用程序中使用Web API 我使用以下代码从WebAPI获取员工列表使用WebAPI的C#Windows通用应用程序给出未经授权的响应,c#,asp.net-web-api2,win-universal-app,C#,Asp.net Web Api2,Win Universal App,我正在尝试使用Visual Studio 15在windows 10上的windows通用应用程序中使用Web API 我使用以下代码从WebAPI获取员工列表 HttpClient client = new HttpClient(new HttpClientHandler() { UseDefaultCredentials = true }); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.
HttpClient client = new HttpClient(new HttpClientHandler() { UseDefaultCredentials = true });
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
client.BaseAddress = new Uri("http://localhost:59591/");
HttpResponseMessage response = client.GetAsync("api/Employee/GetAllEmployee").Result;
if (response.IsSuccessStatusCode)
{
var employeelist = response.Content.ReadAsStringAsync();
}
但作为回应,我得到了
状态代码:401,短语:“未经授权”
如果我创建Windows窗体应用程序,同样的代码也可以正常工作
要在Windows Universal Application中使用Web API,我需要做什么特定的事情吗?您无法从UWP应用程序访问本地主机。安全模型不允许这样做 您可以获得有关隔离工作原理的一些详细信息: 网络隔离与环回 传统上,IP环回地址和环回接口 用于通过网络在不同应用程序之间进行通信 网络,以及多个进程内的进程间通信 本地计算机上的应用程序 使用IP环回地址的网络通信不能用于 进程间通信(在两个不同的应用程序之间),因为 受网络隔离的限制。使用IP的网络通信 允许在同一进程内的应用内为 通信目的 有关启用开发人员访问IP环回的更多信息 用于调试目的的应用之间的地址,请参见如何启用 环回和调试网络隔离 出于调试目的,可以将其关闭。您可以找到一些文档 开发人员还可以使用CheckNetIsolation.exe工具手动 为应用程序添加环回豁免 要免除应用程序的环回限制,请为 必须提供包装。下面的示例命令豁免应用程序 从环回限制 CheckNetIsolation.exe环回豁免–a –p=S-1-15-2-4125766819-3228448775-2449327860-2490758337-1264241865-3581724871-2122349299
这意味着您需要在请求中传递一个
身份验证
头来验证客户端。服务器不返回一个WWW-Authenticate
头作为响应吗?您是否可以控制服务器?控制器的名称是什么api/Employee/GetAllEmployee
可能错误。请使用控制器名称而不是api
。