.NETコア領事

APIプロジェクトの修正プログラムを作成します。

パブリック クラスプログラム
    {
        公共の 静的な 無効メイン(文字列[] argsを)
        {
            CreateWebHostBuilder(引数).Build()を実行します()。
        }

        パブリック 静的 IWebHostBuilder CreateWebHostBuilder(文字列 []引数)=>
            WebHost.CreateDefaultBuilder(引数)
                .UseStartup <起動時> ()
                .UseUrls(" http://127.0.0.1:5001 " )。
    }
コードの表示

スタートアップを変更します。

 公共の 無効設定(IApplicationBuilderアプリ、IHostingEnvironment ENV、IApplicationLifetime applicationLifetime)
        {
            もし(env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            app.UseMvc();
            // 登録領事

            // 登録するサービスのアドレス
            文字列 IP = http://127.0.0.1 」は;
             // サービスポートを登録するには
            文字列ポート= 5001 ;
             文字列 serviceNameを= の値を;
             文字列をServiceID = test123456789を;
             使用をVaRの consulClient = 新新consulClient(ConsulConfig))
            {
                AgentServiceRegistrationのASR = 新しいAgentServiceRegistration
                {
                    アドレス = IP、
                    ポート = Convert.ToInt32(ポート)、
                    ID = サービスID、
                    名前 = serviceNameを、
                     //は、サービスの健全性監視サービスを設定し、ポーリングメカニズムの設定
                     // スケジュール定期的なテストサービスは、条件 
                    チェックを= 新しい新しいAgentServiceCheckを
                    {
                        DeregisterCriticalServiceAfter = TimeSpan.FromSeconds(5 )、
                        HTTP = " http://127.0.0.1:5001/api/Health " 
                        間隔 =のTimeSpan.FromSeconds(10 )、
                        タイムアウト = TimeSpan.FromSeconds(5 
                    }
                }。
                consulClient.Agent.ServiceRegister(ASR).WAIT();
            }
            applicationLifetime.ApplicationStopped.Register(() => {
                 使用VARの consulClient = 新しいConsulClient(ConsulConfig))
                {
                    Console.WriteLineを(アプリケーションが終了、領事の償却で始まります);
                    consulClient.Agent.ServiceDeregister(サービスID).WAIT();
                }
            });
        }
        // 委託Consul-設定
        プライベート 無効ConsulConfig(ConsulClientConfigurationの設定)
        {
            // データセンターのアドレス 
            config.Address = 新しい新しいウリ(" HTTP:// localhostを:8500 " );
            config.Datacenter = " DC1 " 
        }
コードの表示

HealthControllerを追加

[生成し(" アプリケーション/ JSON " )]
    [ルート(" API /健康" )]
     パブリック クラスHealthController:コントローラ
    {
       [HTTPGET]
       公共IActionResult取得()
        {
            Console.WriteLineを(" ヘルスチェック" + DateTime.Now);
             戻りコンテンツ(" OK " );
        }
         
    }
コードの表示

 

おすすめ

転載: www.cnblogs.com/Justsoso-WYH/p/11321842.html