0

Web ジョブが使用している接続文字列を制御できないようです。おそらくもっと多くの質問が関係していますが、何が問題を引き起こしているのか正確にはわかりません。

実稼働環境とテスト デプロイ スロットがあります。両方で 3 つの Web ジョブが実行されています。すべての Web ジョブと私の Web サイトには、app.config resp で定義された接続文字列があります。web.config.

    <add name="SQLAZURECONNSTR_MyConnectionStringName" connectionString="Server=xxx;Database=MyTestDatabase;User ID=xxx;Password=xxx;Trusted_Connection=False;Encrypt=True;Connection Timeout=30;MultipleActiveResultSets=true" providerName="System.Data.SqlClient" />

スワップを行うと、使用されている接続文字列もスワップされます。これは設計どおりであると読みました。ここで、テスト環境が常にテスト DB を指すようにしたいので、スワップ後に Azure ポータルで接続文字列をオーバーライドしようとしましたが、効果がありません。テスト環境はまだ本番 DB を使用しています。

ローカル バージョン (接続文字列が TestDB を指す) をステージングに発行した後でのみ、テスト Web サイトが再び testDB を指していることがわかります (Azure Portal 接続文字列設定によって上書きされないのはなぜですか?)

ただし、昨夜、スワップを行い、接続文字列 (app.config および web.config 内) を TestDB に設定し、testEnvironment に発行し、webjob も testEnvironment に発行しました。彼らはまだ productionDB で動作していました... Azure ポータルにログインします -> テスト デプロイ スロット。Web ジョブは表示されません (実行されていることは確かですが)。

注: Web ジョブを使用しているため、公開に関して多くの問題があります。そのため、公開にも何か問題があった可能性があります。

多くのテキストは、主に私の混乱を詳しく説明しようとするものです。それはいくつかの質問に要約されるかもしれません:

  • Azure ポータルの接続文字列設定が web/app.config の接続文字列をオーバーライドするのはどのような場合ですか?

  • Web ジョブが conn に関して一貫性のない動作を示すのはなぜですか。ストリング?

  • この手動の webjob パブリッシュのナンセンスを完全に取り除くにはどうすればよいでしょうか。

4

1 に答える 1

2

次のブログ投稿は、デプロイ スロットに関する質問に答える必要があります。

要するに:

  • ポータルの接続文字列は、常に Web アプリまたは Web ジョブの web.config/app.config 接続文字列をオーバーライドします。
  • ポータルは Web ジョブに関する無効なデータを表示することがあります (Azure ポータルのバグ)。このデータを確認する信頼できる方法の 1 つは、https://{sitename}.scm.azurewebsites.net/api/webjobs
  • バイナリが正しい場所にデプロイされていることを確認するだけです (`d:\home\site\wwwroot\app_data\jobs\{job_type}\{job_name}.
于 2015-11-18T17:54:44.670 に答える