C# を使用して Windows アプリケーションを作成しています。Windows フォームにアップロードされたファイルをネットワーク共有に保存する必要がありますが、すべてのユーザーがネットワーク共有 ( \\FileServer\SharedFolder ) にアクセスできるわけではありません。1 人のユーザー ( FileWriter ) のみが、このフォルダーに対する読み取り/書き込み/実行のアクセス許可を持っています。現在のユーザーEmployeeUserには、この共有に対する権限がありません。Start->Run \\FileServer\SharedFolderを開いてこれを確認しました。これにより、アクセスが拒否されましたというエラー ボックスが表示されます。
SO Post のこの例を使用し、 を使用してFileWriterWNetAddConnection2
のさまざまな資格情報に接続し、File.Createを使用してファイル Sample.txt を保存しました。これまでのところ、すべて問題ありませんでした。が呼び出され、コード デバッグで確認し、プログラムを終了しました。現在のユーザーから、StartMenu --> Runを開いて\\FileServer\SharedFolderと入力すると、Windows ユーザーがEmployeeUserであっても共有がすぐに開きました。エクスプローラーを閉じ、数分後 (これは試行によってランダムに変化します)、 [スタート] - > [実行] \\FileServer\SharedFolderを開きましたWNetCancelConnection2
. アクセスが拒否されましたというエラー ボックスが表示されるようになりました。
私はこれを理解することができません.これについての助けは大歓迎です.
Access Denied ボックスの後、Sample.txt (File.Create を使用) がサイレントに上書きされることを除いて、同じ手順でプログラムを再度実行します。File Exists エラーが発生するはずではありませんか?