0

我有一个在 IIS 中托管的 WCF Web 服务(实际上在 Visual Studio Web 主机中运行,即 Cassini)。

我有一个文件,我必须从服务访问 web 目录的根目录,并且无法确定服务访问目录的用户身份。我已经允许 ASPNET、NETWORK SERVICE 和 IUSR,但这些似乎都不起作用。

任何人都知道 WCF 服务在 IIS 中托管时运行的用户是什么?

更多信息:

实际上,WCF 服务正在以我(我的 windows 帐户)身份运行,但无论出于何种原因,它仍然无法在其根目录中打开文件。该文件因“拒绝访问”而失败。我已将文件夹的完全控制权授予“所有人”,这似乎并不重要。

4

2 回答 2

0

如果您使用 Cassini 运行 yr 服务,那么它将是登录到该计算机的用户。所以可能是你用来登录那台机器的用户名。授予该用户读取文件并尝试的权限。

在 IIS 上,它取决于您的应用程序配置。您可以在任何用户帐户下创建应用程序池,并使用该池运行您的应用程序。IIS 中的默认用户是 NETWORK SERVICES。

于 2009-06-03T19:47:05.580 回答
0

好吧……想通了这个问题。原来我试图打开的文件被标记为只读,所以.NET 无法打开它进行写入。将 FileAccess.Read 传递给 File.Open() 方法,现在它可以正常打开了。

与 WCF 本身无关。

于 2009-06-05T19:26:49.087 回答