zoukankan      html  css  js  c++  java
  • 四.二、控制台

    一、控制台(控制台问题,保证控制台不自动退出就行)

    解决方案

            static void Main(string[] args)
            {
                Console.WriteLine("确定三个项目都已经启动");
                Console.Read();
                Console.WriteLine("按任意键开始运行");
                Task.Run(async () =>
                {
                    // discover endpoints from metadata
                    var client = new HttpClient();
                    var disco = await client.GetDiscoveryDocumentAsync("http://localhost:5000");
                    if (disco.IsError)
                    {
                        Console.WriteLine(disco.Error);
                        return;
                    }
    
                });
                Console.ReadLine();
                Console.ReadKey(false);//因为控制台会关闭,设置不关闭     
            }

    二、查看调试的

     

    换种方式执行

            static void Main(string[] args)
            {
                Console.WriteLine("确定三个项目都已经启动");
                Console.Read();
                Console.WriteLine("按任意键开始运行");
                // discover endpoints from metadata
                var client = new HttpClient();
                var disco = client.GetDiscoveryDocumentAsync("http://localhost:5000").ConfigureAwait(false).GetAwaiter().GetResult();
                if (disco.IsError)
                {
                    Console.WriteLine(disco.Error);
                    return;
                }
                Console.ReadKey(false);//因为控制台会关闭,设置不关闭     
            }

    继续获取token请求api

            static void Main(string[] args)
            {
                Console.WriteLine("确定三个项目都已经启动");
                Console.Read();
                Console.WriteLine("按任意键开始运行");
                // discover endpoints from metadata
                var client = new HttpClient();
                var disco = client.GetDiscoveryDocumentAsync("http://localhost:5000").ConfigureAwait(false).GetAwaiter().GetResult();
                if (disco.IsError)
                {
                    Console.WriteLine(disco.Error);
                    return;
                }
                // request token
                var tokenResponse = client.RequestClientCredentialsTokenAsync(new ClientCredentialsTokenRequest
                {
                    Address = disco.TokenEndpoint,
    
                    ClientId = "socialnetwork",
                    ClientSecret = "secret",
                    Scope = "socialnetwork"
                }).ConfigureAwait(false).GetAwaiter().GetResult();
                // call api
                client.SetBearerToken(tokenResponse.AccessToken);
                var response = client.GetAsync("http://localhost:5001/identity").ConfigureAwait(false).GetAwaiter().GetResult();
                if (!response.IsSuccessStatusCode)
                {
                    Console.WriteLine(response.StatusCode);
                }
                else
                {
                    var content =  response.Content.ReadAsStringAsync().ConfigureAwait(false).GetAwaiter().GetResult();
                    Console.WriteLine(JArray.Parse(content));
                }
                Console.ReadKey(false);//因为控制台会关闭,设置不关闭     
            }

    说明和使用场景(场景为-某个App获取数据比如软件Aajax 请求后台数据,它是直接后台请求(应用程序A的用户名和密码获取token)才可以拿到应用程序A的数据)

     客户端==应用程序的身份标识-》是否可以访问

  • 相关阅读:
    FPGA远程更新之限制条件
    异步FIFO格雷码与空满
    异步FIFO空满设计延迟问题
    从云端到边缘 AI推动FPGA应用拓展
    异步FIFO跨时钟域亚稳态如何解决?
    FPGA该如何应对ASIC的大爆发?
    AbstractQueuedSynchronizer概述
    ssh 解决经常断开与记住密码功能
    CentOS 7 Docker安装
    Redis设计与实现笔记
  • 原文地址:https://www.cnblogs.com/fger/p/11044548.html
Copyright © 2011-2022 走看看