1

C# で記述された Azure Cloud Service プロジェクトがあります。このプロジェクトには、Azure Worker ロールが含まれています。

私のワーカーロールは、ディレクトリを保持する別のプロジェクト (同じソリューション内) を参照しています。このディレクトリには、10 個の HTML ファイルがあります。これらのファイルはすべて、これらの設定 (ファイル設定) でマークされています。

ビルド アクション:コンテンツ

出力ディレクトリにコピー: 新しい場合はコピー

worker ロールを作成すると、これらのコンテンツ ファイルは次のパスにあります: bin/release/my-files/dir. だから、私のプロジェクト構成はよさそうです。

Azure クラウド サービスを Azure に発行しましたが、コンテンツ ファイルがアップロードされません。リモートデスクトップでマシンに接続し、このパス「E:\approot」を確認して確認しました。コンテンツ ファイルがありません。

これらのコンテンツ ファイルをアップロードするにはどうすればよいですか?

アップデート

@ Gaurav_Mantriコメントありがとうございます。CSSX ファイルを確認しましたが、コンテンツ ファイルがそこにありません。いいえ、公開後に Azure ワーカーの役割も失われていることは不思議ではありません。

また、「出力ディレクトリにコピー -> 常にコピー」を変更しようとしました。同じ結果です。

4

2 に答える 2

1

一般的なガイダンスは、(とりわけ) ソリューション内のすべての VM でコンテンツを複製する必要があるため、可能な限りクラウド サービスと PaaS でのローカル ファイル システムの相互作用を回避することです (自動スケーリングに直面した場合、必ずしも簡単なタスクではありません)。等。)。Azure にはいくつかのオプションがあります。

Azure Files では、ネットワーク共有として、中央の場所からファイルやフォルダーを操作できます。

Azure ファイル ストレージ

Azure BLOB からいつでもファイルを直接読み書きできます。

Azure Blob ストレージ

HTML コンテンツ ファイルが公開されており、大量のトラフィックを受け取る場合は、Azure CDN サービスを使用してそれらをホストすることも検討してください。

Azure CDN

幸運を!

于 2016-04-19T13:54:12.350 に答える
1

実際には答えではありませんが、ファイルがパッケージ自体に含まれているかどうかを確認する必要がある場合があります。基本的に、パッケージ ファイル ( *.cspkg) は zip ファイルです。できることは、ファイルの拡張子を から に変更して、cspkgそのzipファイルを抽出することです。

zip ファイルを解凍するとcssx、ロールごとに拡張子が付いたファイルが表示されます。それらの拡張子zipも同様に変更し、それらのファイルを解凍します。

すべてが適切に構成されていれば、適切なディレクトリにそれらのファイルが表示されるはずです。ファイルがそこにない場合は、何か問題があることを意味します (明らかに)。その場合に試すことができるのは、現在の設定の代わりに変更Copy to output directoryすることです。Copy AlwaysCopy if newer

于 2016-04-20T07:27:16.490 に答える