2016-09-21 10 views
1

私は2つのAzureサーバ(Web Apps)を持っていました。同じサーバーに画像ファイルをアップロードするコードを書いていました。以下は別のAzureサーバからAzureサーバにファイルを書き込むにはC#

コードです:

byte[] bytes = Convert.FromBase64String(_base64String); 
    string path = Server.MapPath("../../assets/Upload/"); 

    FileInfo file = new FileInfo(path); 
    file.Directory.Create(); 

    File.WriteAllBytes(path + "Test.jpg"), 

このコードは完全に同じサーバーでは動作しています。同じファイルを別のサーバーに書き込む必要があります。

今私は、各WebサーバーのAzure B.

+0

* Server A *と* Server B *はどういう意味ですか? Webアプリケーションの複数のインスタンス(たとえば、 'myapp.azurewebsites.net'の2つのインスタンス)を参照していますか?あるいは、あなたは 'myapp1.azurewebsites.net'から' myapp2.azurewebsites.net'にファイルをコピーしていますか? –

+0

私はあなたがBlobストレージを使用して見るべきだと思います。 Webサーバーに "書く"よりもはるかに賢明です。 – Jamie

+0

@DavidMakogon: 'myapp1.azurewebsites.net'から' myapp1.azurewebsites.net'へのファイルのコピーについては、 'myapp1.azurewebsites 'に格納されているWebサービスを使用しています。net' –

答えて

0

にAzureのサーバーAからそのファイルを記述する必要がアプリケーションは、同じアプリケーションサービスプランにホストされている場合でも、独自の独立したストレージを持っています。したがって、2つの別々のWebアプリケーション間でファイルを直接コピーすることはできません。

ウェブアプリケーションがウェブアプリケーションの1つで実行されていると述べたので、他のウェブアプリケーションがAPIを呼び出してファイルを転送するサービスメソッドの工夫を止めることはできません。ただし、ファイルサイズによってはパフォーマンスに影響が出る可能性があります。

それはWebアプリケーション間でコンテンツを共有することが重要だ場合は、内蔵型でこれをサポートするストレージオプションがあります。

  • Azureのファイルストレージ(Azureのブロブストレージに裏打ちされた、本質的にSMB共有が)。これは耐久性のあるストレージで、Webアプリケーション間で共有可能です。
  • 灰色の斑点。繰り返しますが、このストレージはウェブアプリ間で共有できますが、BLOBにはAzure Storage REST API(または使用する言語に応じたSDK)を使用する必要があります。

どの方法を選択するかは、あなたとあなたのアプリのデザインによって決まります。

0

あなたは2つのサーバーの間にいくつかの情報は、その後

+0

なぜAzureキューですか?ファイルサイズ> 64Kの場合、ファイル全体を保存することはできません。だから今あなたはブロブにコンテンツをプッシュし、キューメッセージを送信する必要があります。 –

+0

@David Makogon正確には、キューはファイルがコピーされたことを他のWebアプリケーションに通知するだけです –

0

は、今私は

のAzureサーバーBへのAzureサーバーAからそのファイルを記述する必要がAzureキューを使用し共有したい場合は、それを行うことはできません

あなたの要件によると、私はあなたがFTP経由でターゲットWebアプリケーションにファイルをアップロードできると仮定しました。その場合は、FTPでファイルをアップロードする方法についてはtutorialに従うことができます。

注:Ftpホスト名と資格情報については、AzureポータルにログインしてWebサイトを選択し、概要ページの「プロファイルをダウンロード」リンクをクリックします。

さらに、長期的な検討のために、ファイルを中央に格納する方がよいでしょう。それは、アプリケーション間でファイルを共有し、Webアプリケーションを拡大するための理想的なアプローチです。 Davidが言ったように、Azure FileまたはAzure Blobを選択することができます。そして、Azureファイル&ブロブストレージを使い始めるためには、tutorialtutorialに従うことができます。

関連する問題