- PR -

ネットワーク経由でのファイルコピー

1
投稿者投稿内容
あんみつ
会議室デビュー日: 2002/10/15
投稿数: 14
投稿日時: 2002-12-19 17:55
こんにちは、あんみつです。

今ネットワーク経由でファイルをコピーしたいのですができません。
例えば
File.Copy("C:/test.txt", "C:/test2.txt", true);
はコピーできるのですが、
File.Copy("//Rx-78/files/test.txt", "C:/test2.txt", true);
は「ファイル "//Rx-78/files/test.txt" が見つかりませんでした。」
のエラーがでてしまいます。
どうしたらネットワーク経由でファイルをコピーしたらよいでしょうか。

どなたかわかる方がいらっしゃいましたら教えてください。
宜しくお願いします。
まめ
会議室デビュー日: 2002/06/14
投稿数: 15
投稿日時: 2002-12-19 18:12
ネットワークドライブの割当てを行ってからコピーするとか。
あんみつ
会議室デビュー日: 2002/10/15
投稿数: 14
投稿日時: 2002-12-20 13:04
その後の試行錯誤の結果、以下のようなことがわかりました。
ASP.NETで、ネットワーク経由のファイルをコピーする場合、
ASP.NETのワーカープロセスが既定の場合 ASPNET というユーザ(パスワードは多分ランダム)で、ネットワークに接続に行くのです。
そのため、相手先のマシンの認証に失敗して、コピーができないようです。
この解決として、
http://www.microsoft.com/japan/msdn/netframework/upgrade/aspnet_account_readme.asp#_Running_Code_with_a%20Fixed%20Identity
を参考にして、
.NET Framework の Machine.config ファイル内に
<processModel userName="ユーザ名" password="パスワード" …/>
と記述し、ワーカープロセスのユーザを制御することで解決しました。
この他には、ActiveDirectoryを使って信頼の設定をすることでも解決できるかもしれません。

ただ、最初のやり方だと、Framework自体が固定のユーザで動いてしまうので、気持ちが悪いです。
もう少し、他のやり方をご存知の方がいらっしゃいましたら、教えてください。
1

スキルアップ/キャリアアップ(JOB@IT)