1

書き込み用のファイルを作成するアンマネージ dll で実行される XML Web サービスを作成しました。

しかし、管理されていない dll を使用_wfopenして既存のファイルに何かを書き込もうとすると、セキュリティ上の問題が発生します: ACCESS DENIED!! そして_wfopen、バックを受け取りNULLます。

私はもともとファイルにアクセスするため_wfopenに withを使用していました。r+b権限をテストするために、使用するように変更しようとしましたrb(ファイルの読み取りのみ)。その後、ファイルは正常に開きました。これは、READ アクセスでファイルにアクセスできることを意味します。

また、C# コードを使用してファイルに直接アクセスしても、この問題は発生しないことがわかりました。(たとえば、使用する場合File.Createなど)。

私が実行している OS は、IIS 5.1 を搭載した WinXP Professional SP3 です。そのため、このようなシステムではディレクトリやファイルのパーミッションが適切に設定されていてはなりません

この問題を解決する方法はありますか?

4

1 に答える 1

1

多くのCode Fightingの後、結論に達しました:これはCODE PERMISSION ISSUE ではないかもしれません

そこで、IIS で Web サービスを構成しようとしました。最終的ASP.NETに、プロパティ ページのタブを構成することでこの問題を解決できることがわかりました。

ASP.NET構成ページで、タブに移動してチェックApplicationインImpersonateIdentity Settings、コンピューターのログイン データでユーザー名とパスワードを入力します。

その後、すべてがうまくいき、問題は解決しました。

これが私と同じ問題を抱えている人の助けになることを願っています。

アドバイスをありがとう!

于 2013-05-23T07:58:30.217 に答える