2009-06-03 20 views
0

私はIISでホストしているWCF Webサービスを持っています(実際にはVisual Studio Webホスト、つまりCassini内で実行しています)。WCFファイルのアクセス許可?

サービスからWebディレクトリのルートにアクセスする必要があるファイルがあります。サービスがそのディレクトリにアクセスするユーザーIDを把握することができません。私はASPNET、NETWORK SERVICE、およびIUSRに許可を与えましたが、これらのどれも動作していないようです。

誰かが、IIS内でホストされているときのようにWCFサービスが実行されていることを知っていますか?

MORE INFO:確かに

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

答えて

0

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

WCF自体とは関係ありません。

0

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

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

+0

Hmmm ...これらのユーザーの両方がディレクトリに対する完全なアクセス許可を持っていますが、それでも機能しません。たぶん私は何かを見逃している... –

関連する問題