0

IISでホストしているWCFWebサービスがあります(実際には、Visual Studio Webホスト(Cassini)内で実行されています)。

サービスからWebディレクトリのルートにアクセスする必要のあるファイルがあり、サービスがディレクトリにアクセスするユーザーIDを特定するのに問題があります。ASPNET、NETWORK SERVICE、およびIUSRに許可を与えましたが、これらはいずれも機能していないようです。

WCFサービスがIIS内でホストされている場合と同じように実行されるユーザーを知っている人はいますか?

より詳しい情報:

実際、WCFサービスは私(私のWindowsアカウント)として実行されていますが、何らかの理由で、ルートディレクトリにあるファイルを開くことができません。ファイルは「アクセスが拒否されました」で失敗しました。私は「Everyone」にフォルダのフルコントロールを与えましたが、それは問題ではないようです。

4

2 に答える 2

0

わかりました...問題を理解しました。私が開こうとしていたファイルは読み取り専用としてマークされていたため、.NET は書き込み用に開くことができませんでした。FileAccess.Read を File.Open() メソッドに渡し、正常に開くようになりました。

WCF 自体とは無関係です。

于 2009-06-05T19:26:49.087 に答える
0

Cassini を使用して yr serive を実行している場合、そのコンピューターにログインしているユーザーになります。したがって、おそらくそのマシンへのログインに使用したユーザー名です。そのユーザーにファイルを読み取る権限を与えて、試してください。

IIS では、アプリケーションの構成によって異なります。任意のユーザー アカウントでアプリケーション プールを作成し、そのプールを使用してアプリケーションを実行できます。IIS のデフォルト ユーザーは NETWORK SERVICES です。

于 2009-06-03T19:47:05.580 に答える