1

我编写了一个使用非托管 dll 运行的 XML Web 服务,该 dll 创建了一个用于写入的文件。

但是,当我的非托管 dll 尝试使用WRITE_wfopen将某些内容写入现有文件时,它会导致安全问题:访问被拒绝!然后收到一个回。_wfopenNULL

我最初使用_wfopenwithr+b来访问文件。为了测试它拥有的权限,我尝试将其更改为使用rb(只读文件),然后文件成功打开。这意味着我可以使用 READ 访问权限访问该文件。

我也发现直接通过C#代码访问文件不会出现这个问题。(例如,如果我使用File.Create等)。

我正在运行的操作系统是带有 IIS 5.1 的 WinXP Professional SP3。因此,在这样的系统中不应该存在正确设置的目录或文件权限。

有没有办法解决这个问题?

4

1 回答 1

1

经过大量的代码斗争,我得出一个结论:这可能不是代码许可问题

所以我尝试在 IIS 中配置我的 Web 服务。终于发现配置ASP.NET属性页的tab可以解决这个问题。

ASP.NET配置页面上,我转到Application选项卡并签ImpersonateIdentity Settings,并使用我的计算机登录数据输入用户名/密码。

之后,一切顺利,问题也解决了。

我希望这对那些和我有同样问题的人有所帮助。

感谢您的任何建议!

于 2013-05-23T07:58:30.217 回答