私が取り組んでいるクライアント/サーバーアプリケーションの一部としてWCFサービスがあります。ユーザーはクライアントのボタンをクリックし、サービスを呼び出してファイルを生成し、そのファイルをネットワーク共有にエクスポートします。WCFサービスからネットワーク共有に書き込むときにパスへのアクセスが拒否される
明らかにこの開発では正常に動作しますが、サーバー上に置かれたとき、私は継続的に次のメッセージが出ます:
Access to the path '\\servername\folderpath\folder\filename.ext' is denied
をリモートフォルダは非常に寛容な権限を持っている - 誰もが今、このフォルダの完全な制御を持っています。このサービスはActive Directoryアカウントでも実行され、そのユーザーはそのフォルダーに対して完全な制御も許可されています。 SOなどのサイトを検索しているうちに、これが一般的な失敗であるか、asp.netやIISに関連する問題でした。これはWindowsサービスのホストサービスです。ここで
は私ではなく、単純なコードのサンプルです:場合、私は私を更新することをかなり確信して
<add key="filelocation" value="\\server\folderpath\folder\"/>
イム:
// export the file to path
string theFileContents = "why wont this save?";
string theFilePath = System.Configuration.ConfigurationManager.AppSettings["filelocation"];
using (StreamWriter file = new StreamWriter(theFilePath + accountNumber + ".ext"))
{
file.WriteLine(theFileContents);
file.Close();
}
、ここでは、私は私のApp.configファイルでも設定している方法ですクライアントが文字列を受け取って共有上のファイルに書き出すと、このセットアップ(開発中やサービスがVS2010のデバッグで自分のアカウントで実行されているような)のために動作しますが、その旅行をしなければならないし、単にサーバーからサーバーに行く必要はありません。
権限の問題点を説明できますか? – Kim
これをどのように修正したかを分かち合うと、大いに役立ちます。私はそれが2017年7月だと知っていますが、私たちの中にはまだこの問題があります。 – codeshinobi
実際の解決策に関する私の個人的なメモで参照が見つかりませんが、このツールを共有上で直接使用して情報を取得し、ユーザーに許可が与えられていないことに気付きました(そしてエクスプローラは)、または削除してからインタフェースに追加したルージュユーザが設定されていることを確認してください。 – jmlumpkin