Entity Frameworkコアを使用したWebJob:サイト構成情報へのアクセス

asp.net-core azure-webjobs c# entity-framework entity-framework-core

質問

私はEF Core Sql Serverデータベースを使用するASP.NET Core MVCサイトを構築しています。

サイトの一部では、ファイルをアップロードする機能を追加し、処理してデータベースに適用する必要があります。私はこれにWebJobを使用すると思った。

私が明確にしていないのは、私のウェブサイトとウェブジョブの間でデータベース接続文字列を共有する方法です。 WebJobのプログラムMain()で使用できるWebサイトのStartup.csのConfigureServices()メソッドに類似したものがありますか?

プログラムメイン

要求ごとに、ここに私の現在のWebJobsコードがすべて栄光です:

public static void Main(string[] args)
{
    var config = new JobHostConfiguration();

    if( config.IsDevelopment )
    {
        config.UseDevelopmentSettings();
        config.DashboardConnectionString = "...";
        config.StorageConnectionString = "...";
    }

    JobHost host = new JobHost( config );
    host.RunAndBlock();
}

そこにたくさんありませんが、私はちょうど始めています:)

人気のある回答

私が知っているように、Azure WebアプリケーションとWebJobはAzureポータルで設定されたApp設定と接続文字列を共有します。そこで、Azureポータルで接続文字列を定義し、次にConfigurationManagerを使用して接続文字列を取得します。私はあなたのためにこれを確認するための小さなテストを行った。

1)値 'test'で接続文字列 'myconnection'を設定するここに画像の説明を入力

2)Webジョブプロジェクトを使用して接続を出力する

 public static void ProcessQueueMessage([QueueTrigger("queue")] string message, TextWriter log)
        {
            log.WriteLine(message);
            string connectionString = ConfigurationManager.ConnectionStrings["myconnection"].ToString();
            Console.WriteLine("this is my webjob project console write " + connectionString);
        }

3)Azure Webジョブダッシュボードで結果を確認します

ここに画像の説明を入力



Related

ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ