日本語版
最新ニュース
企業

Aspire での最適なセットアップ: 開発者向けウォークスルー – Technical Dogsbody – プリンシパル C# 開発者

C# 8.0 を利用して、dotnet aspire 環境内で Optimizely をセットアップする方法を詳しく見てみましょう。 この詳細なガイドに従って、Optimizely プロジェクトを最初から構成します。 さらに詳しく調べて完全なコードベースにアクセスするには、次のサイトにアクセスしてください。 Optimizely Aspire GitHub リポジトリ。注: Visual Studio プレビューと Aspire がインストールされている必要があります - https://learn.microsoft.com/en-us/dotnet/aspire/fundamentals/setup-tooling?tabs=visual-studio別のメモ: コード内にパスワードがあることはわかっていますが、これはそれが機能することを証明するための POC です。 運用環境に移行することはありません。 ある時点で、スキャフォールディングをコンソール アプリに移動し、AppHost の if ステートメントに変更して、機能を完全に Web アプリの外に移動するかもしれませんが、今のところは問題ありません...Optimizely プロジェクトを開始します。dotnet new epicmsempty --name Something.Web まず、指定されたコマンドを使用して新しい…

Aspire での最適なセットアップ: 開発者向けウォークスルー – Technical Dogsbody – プリンシパル C# 開発者

1706869548
2024-02-01 08:30:51

C# 8.0 を利用して、dotnet aspire 環境内で Optimizely をセットアップする方法を詳しく見てみましょう。 この詳細なガイドに従って、Optimizely プロジェクトを最初から構成します。 さらに詳しく調べて完全なコードベースにアクセスするには、次のサイトにアクセスしてください。 Optimizely Aspire GitHub リポジトリ

注: Visual Studio プレビューと Aspire がインストールされている必要があります – https://learn.microsoft.com/en-us/dotnet/aspire/fundamentals/setup-tooling?tabs=visual-studio

別のメモ: コード内にパスワードがあることはわかっていますが、これはそれが機能することを証明するための POC です。 運用環境に移行することはありません。 ある時点で、スキャフォールディングをコンソール アプリに移動し、AppHost の if ステートメントに変更して、機能を完全に Web アプリの外に移動するかもしれませんが、今のところは問題ありません…

  1. Optimizely プロジェクトを開始します。

    dotnet new epicmsempty --name Something.Web
    

    まず、指定されたコマンドを使用して新しい Optimizely プロジェクトを作成します。

  2. Visual Studio でのソリューションのセットアップ: Visual Studio を開き、新しい空のソリューションを作成し、新しく作成した Web プロジェクトをこのソリューションに追加します。

  3. C# 8.0 にアップグレードします。 プロジェクトで Aspire 用の C# 8.0 が使用されていることを確認します。

  4. 起動設定を構成します。 ポート 8000 および 8001 を使用するように起動設定を設定することで、潜在的な既知の問題に対処します。

  5. .Net Aspire オーケストレーションを統合します。 Web プロジェクトを右クリックし、[追加]→[.Net Aspire Orchestration]を選択し、指定された手順に進みます (エラーがポップアップする場合がありますが、今は無視してください。後で修正します)。

  6. データベース構成: 次の構成でデータベースを apphost プロジェクトに追加します。

    builder.AddSqlServerContainer("something.db", "0pti_R0cks", 1433)
        .WithVolumeMount("./App_Data/database-files", "/var/opt/mssql/data", VolumeMountType.Bind);
    
  7. 起動設定と環境変数を更新します。 起動設定を変更して含めます RUN_MODE 環境変数を変更し、セキュリティ目的でプロトコルを HTTPS に切り替えます。

    {
      "$schema": "http://json.schemastore.org/launchsettings.json",
      "profiles": {
        "Web": {
          "commandName": "Project",
          "dotnetRunMessages": "true",
          "launchBrowser": "true",
          "applicationUrl": "https://localhost:15138",
          "environmentVariables": {
            "ASPNETCORE_ENVIRONMENT": "Development",
            "DOTNET_ENVIRONMENT": "Development",
            "DOTNET_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:16093",
            "RUN_MODE": "WEB"
          }
        },
        "Scaffold": {
          "commandName": "Project",
          "dotnetRunMessages": "true",
          "launchBrowser": "true",
          "applicationUrl": "https://localhost:15138",
          "environmentVariables": {
            "ASPNETCORE_ENVIRONMENT": "Development",
            "DOTNET_ENVIRONMENT": "Development",
            "DOTNET_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:16093",
            "RUN_MODE": "SCAFFOLD"
          }
        }
      }
    }
    
  8. 伝播する RUN_MODE 環境変数: を確認してください。 RUN_MODE 環境変数は、以下を追加することでアプリホストから Web アプリに正確に渡されます。 AddProject 構成:

    .WithEnvironment("RUN_MODE", Environment.GetEnvironmentVariable("RUN_MODE"));
    
  9. サービス拡張の適応: ServiceDefaults 拡張クラスをサポートするように変更します。 Host.CreateDefaultBuilder(args) Optimizely の互換性のために。 具体的な変更点については、 Optimizely Aspire GitHub リポジトリ

  10. ロギング構成: のログ設定を更新します Program.cs ログ管理を一元化するには:

    .ConfigureLogging(l =>
    {
        l.AddOpenTelemetry(logging =>
        {
            logging.IncludeFormattedMessage = true;
            logging.IncludeScopes = true;
        });
    })
    
  11. 最終的な統合: 統合してセットアップを完了する services.AddServiceDefaults(_webHostingEnvironment, _configuration); あなたの中に Startup.cs

  12. データベースの初期化とアプリケーションの起動:

    • AppHostを実行します Scaffold データベースを初期化するモード。
    • 切り替える Web モードを使用して、Aspire を通じて Optimizely サイトを運用可能にします。

完全なソース コードと追加リソースについては、 Optimizely Aspire GitHub リポジトリここでは、プロジェクトの構造、セットアップのニュアンス、カスタム構成をさらに詳しく調べることができます。

アンディ・ブライス

Andy Blyth はテクニカル アーキテクト/シニア C# 開発者で、格闘技を研究しており、(覚えているときは) ブログ記事を書こうとしています。 彼は現在、英国のマンチェスターで C# の主任開発者として働いています。

#Aspire #での最適なセットアップ #開発者向けウォークスルー #Technical #Dogsbody #プリンシパル #開発者

執筆者について: nipponese

Nipponese News編集部は、国内外のニュースを日本語で分かりやすくお届けします。