none
ftpwebrequestについて RRS feed

  • 質問

  • こんにちは。

    ftpwebrequestについて質問があります。

    APS.NETを使用して、ファイルをブラウザからFTPでアップロードする実装を検討しています。

    .NETでftpwebrequestクラスを使用して、FTPでアップロードできるのは理解しているのですが、実際にデータがどのように流れていくのかがいまいち理解出来ません。

    例えば、ASP.NETをホストしているサーバーをA、FTPサイトをホストしているサーバーをBとし、別々の筐体とします。

    AのASP.NETからBに対して100MBのファイルをアップロードする場合、一旦Aに100ポストされた後、AからBにFTPでPUTされるようなイメージなのでしょうか?

    実際の.NETクラスが実行されるのがAサーバーですので、どのような実装をしたとして、ブラウザとAサーバーとの間のデータのやりとりは発生してしまうのでは無いかと思います。

    それとも、ブラウザから直接FTPでBサーバーにファイルをPUTしてくれるのでしょうか?

    ちなみに、懸念しているのは、ASP.NETか稼働するAサーバーのIISへの負荷です。

    比較的大きいサイズのファイルをFTPサイトにアップロードするので、ASP.NETサイトへの負荷を無くしたいと考えています。

    どなたかご教授いただけるとたすかります。

    An De

    2012年4月30日 14:53

回答

  • ご想像の通りです。

    ASP.NETで実装する以上、ASP.NETがデータを受け渡しするのは当然のことであり回避不能です。もしASP.NETの負荷を無くしたいのであればASP.NETを使わない(部分的に他の方法を使う)ことです。そしてそれはASP.NETフォーラムで質問してもどうしようもないことのように感じます。

    例えばFTPではなくWebDAVを使えばブラウザーから制御しやすくなり、JavaScriptを使用してブラウザーからBサーバーへ直接アップロードできるかもしれません。

    • 回答の候補に設定 山本春海 2012年5月10日 8:23
    • 回答としてマーク 山本春海 2012年5月15日 6:39
    2012年4月30日 21:04
  • FileZilla のような FTP クライアントを使うのではなく、ブラウザを使う
    のが要件であれば Web サーバーの負担は避けようがないです。

    どのような環境なのか書いてないので分かりませんが・・・

    もし、Web サーバーとファイルサーバーが同じドメイン内にいるのであれば、
    IIS のワーカープロセスのアカウントにファイルサーバーファイルシステム
    へのアクセス権を与えて、FTP など使わずに直接書き込むようにしてはいか
    がでしょう?

    Web サーバーの負担が大幅に減るということはないかもしれませんが、Web
    サーバーで FtpWebRequest を使う分は減らせると思います。

    • 回答の候補に設定 山本春海 2012年5月10日 8:23
    • 回答としてマーク 山本春海 2012年5月15日 6:39
    2012年5月1日 0:43

すべての返信

  • すいません。間違った記載がありましたので訂正します。

    AのASP.NETからBに対して100MBのファイルをアップロードする場合、一旦Aに100ポストされた後、AからBにFTPでPUTされるようなイメージなのでしょうか?

    ではなく

    ブラウザからBに対して100MBのファイルをアップロードする場合、一旦Aに100ポストされた後、AからBにFTPでPUTされるようなイメージなのでしょうか?

    です。

    失礼しました。

    2012年4月30日 14:54
  • ご想像の通りです。

    ASP.NETで実装する以上、ASP.NETがデータを受け渡しするのは当然のことであり回避不能です。もしASP.NETの負荷を無くしたいのであればASP.NETを使わない(部分的に他の方法を使う)ことです。そしてそれはASP.NETフォーラムで質問してもどうしようもないことのように感じます。

    例えばFTPではなくWebDAVを使えばブラウザーから制御しやすくなり、JavaScriptを使用してブラウザーからBサーバーへ直接アップロードできるかもしれません。

    • 回答の候補に設定 山本春海 2012年5月10日 8:23
    • 回答としてマーク 山本春海 2012年5月15日 6:39
    2012年4月30日 21:04
  • FileZilla のような FTP クライアントを使うのではなく、ブラウザを使う
    のが要件であれば Web サーバーの負担は避けようがないです。

    どのような環境なのか書いてないので分かりませんが・・・

    もし、Web サーバーとファイルサーバーが同じドメイン内にいるのであれば、
    IIS のワーカープロセスのアカウントにファイルサーバーファイルシステム
    へのアクセス権を与えて、FTP など使わずに直接書き込むようにしてはいか
    がでしょう?

    Web サーバーの負担が大幅に減るということはないかもしれませんが、Web
    サーバーで FtpWebRequest を使う分は減らせると思います。

    • 回答の候補に設定 山本春海 2012年5月10日 8:23
    • 回答としてマーク 山本春海 2012年5月15日 6:39
    2012年5月1日 0:43
  • こんにちは、An De さん。

    MSDN フォーラムのご利用ありがとうございます。オペレーターの山本です。

    参考になる情報をいただいているように思われましたので、勝手ながら私の方で回答としてマークさせていただきました。
    SurferOnWww さん、佐祐理 さん、情報ありがとうございます。

    いただいた情報の中で、解決に役立った投稿や、参考になる情報など有効な情報には回答としてマークすることをお願いしています。
    今後、同じ問題でこのスレッドを参照される方にも、有効な情報を活用いただけるかと思いますので、ご協力よろしくお願いいたします。
    _____________________
    日本マイクロソフト株式会社 フォーラム オペレーター 山本 春海

    2012年5月15日 6:39