2017-04-26 13 views
0

私のプロジェクトでは、ユーザーがserverAでホストされているWebページにファイルをアップロードすると、WebページもそのファイルをserverBにコピーする必要があります。 ServerAとserverBは同じネットワークの下にあり、adminはネットワークドライブ(// servername/C $/folderpath)を介してserverAからServerBファイルにアクセスできます。別のユーザーアカウントを持つ別のサーバーにファイルをコピーする方法はありますか?

    string fileName = "my test.txt"; 
       string sourcePath = @"C:\myFolder"; 
       string targetPath = @"\\vmtest001\C$\myFolder\subFolder"; 


       // Use Path class to manipulate file and directory paths. 
       string sourceFile = System.IO.Path.Combine(sourcePath, fileName); 
       string destFile = System.IO.Path.Combine(targetPath, fileName); 

       // To copy a folder's contents to a new location: 
       // Create a new target folder, if necessary. 
       if (!System.IO.Directory.Exists(targetPath)) //error 
       { 
        System.IO.Directory.CreateDirectory(targetPath); 
       } 

私はサーバーBにそのファイルをコピーしようとしたと、エラーメッセージがパス「へ

アクセスです\ vmtest001 \ C $ \ MYFOLDER \ subFolder'isが拒否されました。

私はファイルを移動するためにwebserivceを使用しているいくつかの解決策を見て、誰も私にその可能性を教えてもらえますか?

主な質問:別のサーバー間でファイルをコピーするにはどうすればよいですか?

+0

[LogonUser](http://www.pinvoke.net/default.aspx/advapi32) .logonuser)関数を使用して他のユーザーを偽装します。 –

+0

あなたの問題は、この場合のアクセス権に過ぎません。あなたはそのフォルダのインターネットユーザーにアクセス権を与えるべきです。そうでない場合は、フォルダを含むサーバーにFilezillaサーバーをインストールし、FTPを使用してファイルをアップロードできます。 –

答えて

0

あなたのweb.configファイルにこれを追加します。

<identity impersonate="true" userName="accountname" password="password" /> 

しかし、これはお勧めしません。 サービスを開始するにはFileSystemWatcherを使用してアップロードファイルを監視し、ファイルをこのサービスのserverBにコピーします。

関連する問題