ASP.NET Core分布式项目实战

默认教学计划
1106人加入学习
(35人评价)
价格 ¥398.00
教学计划

docker ce 版本

docker --version docker的版本

docker pull redis 默认会使用最新的版本
docker run -d -p 6379:6379  --name mydevredis 

默认镜像都是docker hub

我们可以替换到国内的源

docker --version 查看当前的版本
docker ps -a  查询当前正在运行的容器
docker images 查询本地所有的镜像
docker run 启动一个容器

docker pull 用来拉取一个镜像

 

[展开全文]

去掉重复

if [ $(docker ps | grep "userapi:test"| wc -L) != "0" ];then docker stop userapi; docker rm userapi; fi

去掉缓存

docker rmi $(docker images | grep "none" | awk '{print $3}')

 

[展开全文]

服务健康检查
Services Register

 

[展开全文]

dockerfile 的from要改成“mcr.microsoft.com/dotnet/core/sdk”

[展开全文]

docker run -d -p 27017:27017 --name mymango mongo

[展开全文]

docker  --version  查看当前版本

docker  ps    查看当前正在运行的容器

docker images  查看本地所有的镜像

docker run 运行一个容器

docker pull 用来拉取一个镜像到本地

 

[展开全文]

https://docs.doker-cn.com/

[展开全文]

add-migration init -Context ConfigurationDbContext -outputDir data/Migrations/Identityserver/ConfigurationDb

 

add-migration init -Context PersistedGrantDbContext  -outputDir data/Migrations/Identityserver/PersistedGrantDb

 

update-database -context configurationDbContext

[展开全文]

这个不是--publish 而是

[展开全文]

 var client = new HttpClient();
            var disco =  client.GetDiscoveryDocumentAsync("http://localhost:5000").Result;
            if (disco.IsError)
            {
                Console.WriteLine(disco.Error);
                return;
            }
            else
            {
                Console.WriteLine(disco.TokenEndpoint);
            }
            // request token
            var tokenResponse =  client.RequestTokenAsync(new TokenRequest
            {
                Address = disco.TokenEndpoint,
                ClientId = "client",
                ClientSecret = "secret",
                GrantType= "client_credentials"

            }).Result;

            if (tokenResponse.IsError)
            {
                Console.WriteLine(tokenResponse.Error);
                return;
            }

            Console.WriteLine(tokenResponse.AccessToken);
            var httpclient = new HttpClient();

            httpclient.SetBearerToken(tokenResponse.AccessToken);

             var  response =   httpclient.GetAsync("http://localhost:5005/weatherforecast").Result;

            Console.WriteLine(response.Content.ReadAsStringAsync().Result);
            Console.WriteLine("\n\n");
            Console.ReadLine();

[展开全文]

 

问题1: Microsoft.AspNetCore.HttpsPolicy.HttpsRedirectionMiddleware[3]

需要去掉 // app.UseHttpsRedirection();

 

问题2:Bearer was challenged.(卡了好几个小时)

 

基于.net core 3.0 用法与老师的有点不同。

我在写代码时自动生成的代码里有app.UseAuthorization();其实这个代码是与老师添加的是不同的。

还是需要手动在UseAuthorization上加app.UseAuthentication();//


   
 

[展开全文]

聚合服务:处理跨多个服务调用

[展开全文]

微服务特点:

  1. 一组小的服务,
  2. 独立进程,
  3. 轻量级通讯(Json/grpc),
  4. 基于业务的能力,
  5. 独立部署,
  6. 无集中式管理

微服务架构产生的问题:

  1. 问题追踪,
  2. 测试,
  3. 部署,
  4. 监控,
  5. 分布式事务,
  6. 服务治理,
  7. 开发难度加大(聚合查询),
  8. 分布式事务
[展开全文]

docker commands

docker --version 查看但前的版本

docker ps 查看本地的正在运行的容器

docker images 查看本地所有的镜像

docker run 运行一个容器

docker pull 用来拉取一个镜像到本地

[展开全文]
//针对视频中的代码做的部分调整,改为最新
static async Task Main(string[] args)
        {
            var client=new HttpClient();
            var disco = await client.GetDiscoveryDocumentAsync("http://localhost:5000");
            if (disco.IsError)
            {
                Console.WriteLine(disco.Error);
                return;
            }

            var tokenResponse = await client.RequestClientCredentialsTokenAsync(new ClientCredentialsTokenRequest()
            {
                Address = disco.TokenEndpoint,
                ClientId = "client",
                ClientSecret = "secret",
                Scope = "api"
            });
            if (tokenResponse.IsError)
            {
                Console.WriteLine(tokenResponse.Error);
                return;
            }
            Console.WriteLine(tokenResponse.Json);
            
            client.SetBearerToken(tokenResponse.AccessToken);
            var response = await client.GetAsync("http://localhost:5001/WeatherForecast");
            if (response.IsSuccessStatusCode)
            {
                Console.WriteLine(await response.Content.ReadAsStringAsync());
            }
        }

 

[展开全文]

产品MVP的含义;

  1. 以用户问题为中心,而不是已解决方案为中心;
  2. 要先满足客户基本的需求通过客户反馈,逐步修正产品设计和实现;
  3. 在各个迭代过程中,做出来的产品始终是为客户所用的产品;
[展开全文]

授课教师

程序员

课程特色

下载资料(2)
视频(144)
讨论(1)
图文(2)