2

iis Express 7.5 でホストされている wcf サービスを実行しています。サービス内で、ファイルシステムにファイルを書き込む必要があるサービス操作がありますが、そうしようとすると例外が発生します。

次を使用して、プロジェクトがホストされているのとまったく同じフォルダーにファイルを書き込んでいます。

しかし、私はこの例外を受け取り続けます:

DirectoryNotFoundException - 「パス C:\websites の一部が見つかりませんでした....

私のiis expressにはファイルを書き込む権限がないようです。もしそうなら、どうすれば許可を与えることができますか?

ありがとう!

4

2 に答える 2

7
  1. IIS Express は、現在ログオンしているユーザー ID で実行されます。書き込もうとしているフォルダーに特別なアクセス権がある場合は、現在のユーザーにアクセス権を付与してください。

  2. File.Open(filePath, FileMode.Create) はファイルのみを作成します。ディレクトリが終了しない場合は、'DirectoryNotFound' 例外がスローされますが、これは予期されることです。そのため、ファイルを作成する前に、そのディレクトリが存在することを確認してください。おそらく Directory.CreateDirectory("directory path") API を使用できます

于 2011-04-07T17:03:01.337 に答える
3

書き込もうとしているフォルダーへの NETWORK SERVICE アカウントに書き込み権限を付与する必要があります。また、MapPath メソッドは、仮想ディレクトリのルートへの相対 URL を取ります。

var path = HttpContext.Current.Server.MapPath("~/");
于 2011-04-07T09:42:39.740 に答える