我编写了一个XML Web服务,该服务使用非托管dll运行,该dll创建了一个用于写入的文件。
但是当我的非托管dll尝试将_wfopen
WRITE 某些东西用于现有文件时,会导致安全问题:访问被拒绝!然后_wfopen
收到NULL
回来。
我最初使用_wfopen
和r+b
来访问文件。要测试它拥有的权限,
我尝试将其更改为使用rb
(仅读取文件),然后文件成功打开。这意味着我可以使用READ访问权限访问该文件。
我还发现通过C#代码直接访问文件不会导致此问题。
(例如,如果我使用File.Create
等)。
我正在运行的操作系统是带有IIS 5.1的WinXP Professional SP3。因此,不应该在这样的系统中没有正确设置目录或文件权限。
有没有办法解决这个问题?
答案 0 :(得分:1)
经过大量 Code Fighting 后,我得出结论:这可能不是代码许可问题。
所以我尝试在IIS中配置我的Web服务。
我终于发现配置属性页的ASP.NET
选项卡可以解决这个问题。
在ASP.NET
配置页面上,转到Application
标签,然后检查Impersonate
中的Identity Settings
,并输入用户名/密码和我的计算机登录数据。
之后,一切顺利,问题解决了。
我希望这对那些和我有同样问题的人有所帮助。
感谢您的任何建议!