Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 授权令牌在Postman中可以正常工作,但在我的设备上不能_C#_Asp.net Mvc_Xamarin_Asp.net Web Api - Fatal编程技术网

C# 授权令牌在Postman中可以正常工作,但在我的设备上不能

C# 授权令牌在Postman中可以正常工作,但在我的设备上不能,c#,asp.net-mvc,xamarin,asp.net-web-api,C#,Asp.net Mvc,Xamarin,Asp.net Web Api,我正在尝试使用RESTAPI,通过使用Xamarin的MVVM实现它。我在类的控制器中编写了[Authorize],当我在Postman中获得令牌时,我可以使用该服务,但当我从登录页面在Android设备上执行该操作时,它会显示以下“消息”: 我的Web Api托管在AZURE中的SQL数据库中。 我正在使用以下方法验证令牌: public async Task<TokenResponse> GetToken(string urlBase, string username, stri

我正在尝试使用RESTAPI,通过使用Xamarin的MVVM实现它。我在类的控制器中编写了[Authorize],当我在Postman中获得令牌时,我可以使用该服务,但当我从登录页面在Android设备上执行该操作时,它会显示以下“消息”:

我的Web Api托管在AZURE中的SQL数据库中。 我正在使用以下方法验证令牌:

public async Task<TokenResponse> GetToken(string urlBase, string username, string password)
        {
            try
            {
                var client = new HttpClient();
                client.BaseAddress = new Uri(urlBase);
                var response = await client.PostAsync("Token",
                    new StringContent(string.Format(
                    "grant_type=password&username={0}&password={1}",
                    username, password),
                    Encoding.UTF8, "application/x-www-form-urlencoded"));
                var resultJSON = await response.Content.ReadAsStringAsync();
                var result = JsonConvert.DeserializeObject<TokenResponse>(
                    resultJSON);
                return result;
            }
            catch
            {
                return null;
            }
公共异步任务GetToken(字符串urlBase、字符串用户名、字符串密码)
{
尝试
{
var client=新的HttpClient();
client.BaseAddress=新Uri(urlBase);
var response=wait client.PostAsync(“令牌”,
新建StringContent(string.Format(
“grant_type=password&username={0}&password={1}”,
用户名、密码),
Encoding.UTF8,“application/x-www-form-urlencoded”);
var resultJSON=await response.Content.ReadAsStringAsync();
var result=JsonConvert.DeserializeObject(
结果(JSON);
返回结果;
}
抓住
{
返回null;
}

有人知道发生了什么吗?

你的问题太难理解了。请将代码部分格式化为好的格式,以便大家可以阅读。请为你的
HttpClient
添加
DefaultRequestHeaders
client.DefaultRequestHeaders.add(“Token”),新的StringContent(string.format(“grant\u type=password&username={0}&password{1} “,用户名,密码”);
然后尝试将数据发布到API删除授权属性或注册用户,然后登录到用户令牌,请参阅
public async Task<TokenResponse> GetToken(string urlBase, string username, string password)
        {
            try
            {
                var client = new HttpClient();
                client.BaseAddress = new Uri(urlBase);
                var response = await client.PostAsync("Token",
                    new StringContent(string.Format(
                    "grant_type=password&username={0}&password={1}",
                    username, password),
                    Encoding.UTF8, "application/x-www-form-urlencoded"));
                var resultJSON = await response.Content.ReadAsStringAsync();
                var result = JsonConvert.DeserializeObject<TokenResponse>(
                    resultJSON);
                return result;
            }
            catch
            {
                return null;
            }