首页 > 编程语言 >Aspire初体验

Aspire初体验

时间:2024-06-01 10:22:23浏览次数:13  
标签:AspireApp1 初体验 http app var Aspire builder

微服务新体验之Aspire初体验 

  合集 - 微服务(2)   1.微服务新体验之Aspire初体验05-30 2.Aspire项目发布到win11本地k8s集群05-31 收起  

安装aspire

查看vs版本

我这的版本是17.9.7,不支持aspire,所以需要升级

更新VS

点击 帮助->检查更新

点击更新

静等安装升级

创建aspire项目

项目创建成功,如下图

运行Aspire项目

在AspireApp1.AppHost的launchSettings.json文件中加 "ASPIRE_ALLOW_UNSECURED_TRANSPORT": "true"

{
  "$schema": "https://json.schemastore.org/launchsettings.json",
  "profiles": {
    "http": {
      "commandName": "Project",
      "dotnetRunMessages": true,
      "launchBrowser": true,
      "applicationUrl": "http://localhost:15177",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development",
        "DOTNET_ENVIRONMENT": "Development",
        "DOTNET_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:19239",
        "DOTNET_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:20241",
        "ASPIRE_ALLOW_UNSECURED_TRANSPORT": "true"
      }
    }
  }
}

运行AspireApp1.AppHost项目

访问AspireApp1.Web项目

这里只要运行AspireApp1.AppHost项目就可以了

分析

看AspireApp1.AppHost项目的Program.cs文件,这里运行了两个项目

var builder = DistributedApplication.CreateBuilder(args);

var cache = builder.AddRedis("cache");

var apiService = builder.AddProject<Projects.AspireApp1_ApiService>("apiservice"); //这里是后端项目

builder.AddProject<Projects.AspireApp1_Web>("webfrontend")//这里是前端项目
    .WithExternalHttpEndpoints()
    .WithReference(cache)
    .WithReference(apiService);

builder.Build().Run();

AspireApp1.Web这里注入了对apiservice的访问

using AspireApp1.Web;
using AspireApp1.Web.Components;

var builder = WebApplication.CreateBuilder(args);

// Add service defaults & Aspire components.
builder.AddServiceDefaults();
builder.AddRedisOutputCache("cache");

// Add services to the container.
builder.Services.AddRazorComponents()
    .AddInteractiveServerComponents();

builder.Services.AddHttpClient<WeatherApiClient>(client => client.BaseAddress = new("http://apiservice")); //这里注入后端项目的API服务

var app = builder.Build();

if (!app.Environment.IsDevelopment())
{
    app.UseExceptionHandler("/Error", createScopeForErrors: true);
}

app.UseStaticFiles();
app.UseAntiforgery();

app.UseOutputCache();

app.MapRazorComponents<App>()
    .AddInteractiveServerRenderMode();

app.MapDefaultEndpoints();

app.Run();

看WeatherApiClient.cs文件

namespace AspireApp1.Web;

public class WeatherApiClient(HttpClient httpClient)
{
    public async Task<WeatherForecast[]> GetWeatherAsync(int maxItems = 10, CancellationToken cancellationToken = default)
    {
        List<WeatherForecast>? forecasts = null;

        await foreach (var forecast in httpClient.GetFromJsonAsAsyncEnumerable<WeatherForecast>("/weatherforecast", cancellationToken))//调用后端API获取天气预报数据
        {
            if (forecasts?.Count >= maxItems)
            {
                break;
            }
            if (forecast is not null)
            {
                forecasts ??= [];
                forecasts.Add(forecast);
            }
        }

        return forecasts?.ToArray() ?? [];
    }
}

public record WeatherForecast(DateOnly Date, int TemperatureC, string? Summary)
{
    public int TemperatureF => 32 + (int)(TemperatureC / 0.5556);
}

作者

吴晓阳 微信号:shiningrise

欢迎光临:http://shiningrise.cnblogs.com

标签:AspireApp1,初体验,http,app,var,Aspire,builder
From: https://www.cnblogs.com/Leo_wl/p/18225612

相关文章

  • 香橙派 AIpro初体验
     1.香橙派OrangePi_AIpro开发板简介可以把它理解为一台卡片电脑,类似于树莓派,有操作系统。从名字可以看出来,它具备了人工智能、深度学习开发相关的特性。官方对它的描述如下:OrangePiAIPro开发板是香橙派联合华为精心打造的高性能AI开发板,其搭载了昇腾AI处理器,可......
  • Aspire项目发布到win11本地k8s集群
    前提你必须会创建aspire项目,不会的请先看微服务新体验之Aspire初体验Aspirate(Aspir8)Aspirate是将aspire项目发布到k8s集群的工具安装aspiratedotnettoolinstall-gaspirateaspirate初始化切换到AppHost项目目录aspirateinit生成k8s配置文件aspirategenerat......
  • 香橙派Kunpeng Pro初体验
    引子非常偶然的机会收到了CSDN发送过来的手机短信,邀请参与香橙派开发板评测活动。一开始没注意到,以为是广告。后来直到香橙派的工作人员微信加群之后,才确认活动真实性。看到微信群里来自各地的开发者,大家的评测积极性也很高。本人之前有过树莓派的开发经验,在收到香橙派开发板之......
  • 微服务新体验之Aspire初体验
    安装aspire查看vs版本我这的版本是17.9.7,不支持aspire,所以需要升级更新VS点击帮助->检查更新点击更新静等安装升级创建aspire项目项目创建成功,如下图运行Aspire项目在AspireApp1.AppHost的launchSettings.json文件中加"ASPIRE_ALLOW_UNSECURED_TRANSPORT":"tr......
  • Aspire初体验
    安装aspire查看vs版本我这的版本是17.9.7,不支持aspire,所以需要升级更新VS点击帮助->检查更新点击更新静等安装升级创建aspire项目项目创建成功,如下图运行Aspire项目在AspireApp1.AppHost的launchSettings.json文件中加"ASPIRE_ALLOW_UNSECURED_TRANSPORT":"tr......
  • Langchain初体验-GLM4使用
    GLM4智谱AI推出新一代基座模型GLM-4LangchainLangChain是一个由大型语言模型(LLMs)驱动的应用开发框架。依赖pipinstalllangchainlangchain_communityhttpxhttpx_ssePyJWTDemoimportosfromlangchain_community.chat_modelsimportChatZhipuAIfromlangchain......
  • 【译】使用 .NET Aspire 和 Visual Studio 开发云原生应用
    我们很高兴地向大家介绍.NETAspire,它旨在简化.NET云原生应用程序的构建和管理方式。.NETAspire为像您这样的开发人员提供了一个改进的、有主见的框架,用于构建分布式应用程序,确保无缝和一致的开发体验。这个新的技术栈汇集了一系列工具、模式和特殊的NuGet包,这些......
  • 香橙派AIpro开发板初体验
    香橙派AIpro开发板初体验一、引言在当前的AI发展浪潮中,边缘计算逐渐成为了研究的热点。香橙派AIpro开发板作为一款基于昇腾AI技术的开发板,凭借其强大的算力和丰富的接口,为AI边缘计算提供了强大的支持。最近,我也是拿到了官方送来的香橙派AIpro开发板,收到后发现包装里不仅有......
  • AI绘图之Midjourney初体验
    Midjourney(MJ)使用笔记最近尝试了Midjourney绘图,简单记录下使用流程。注册及登陆首先是账号注册和登陆,基本上就是一路下一步,唯一需要注意的是加入MJ频道,具体流程为:打开Discord,点击右上角Login进入登陆界面点击登陆页面下方的Register,进入注册页面输入用于注册的相关信......
  • Aspire 框架预览版
    .NETAspire正式发布:简化.NET云原生开发 合集-.NETAspire(7) 1.Aspire框架预览版发布,使云原生开发和运维更加简单2023-11-162..NETAspirePreview4发布!03-153..NETAspire预览5版本发布04-114..NETASPIRE预览版7发布05-165..NETAspire预览版6发布04-......