C# WCF使用什么用户来编写?

C# WCF使用什么用户来编写?,c#,wcf,io,C#,Wcf,Io,我目前有一个WCF服务,允许客户端将图像上传到服务器。然后,服务将该映像保存到服务器的C驱动器作为测试。这是行得通的,但我很好奇它为什么行得通 我的印象是服务总是以IIS用户的身份执行,这意味着它将被IIS用户在执行时拥有的任何权限所束缚。但是,我上载到C驱动器上的文件夹根本没有列出IIS用户的权限。对该用户具有权限的唯一文件夹是实际包含该服务的文件夹,即使该文件夹只有读取和执行权限 因此,我的问题是,当服务作为用户运行时,没有对该目录的安全访问权限,该服务如何能够写入服务器的C驱动器?如果WC

我目前有一个WCF服务,允许客户端将图像上传到服务器。然后,服务将该映像保存到服务器的C驱动器作为测试。这是行得通的,但我很好奇它为什么行得通

我的印象是服务总是以IIS用户的身份执行,这意味着它将被IIS用户在执行时拥有的任何权限所束缚。但是,我上载到C驱动器上的文件夹根本没有列出IIS用户的权限。对该用户具有权限的唯一文件夹是实际包含该服务的文件夹,即使该文件夹只有读取和执行权限


因此,我的问题是,当服务作为用户运行时,没有对该目录的安全访问权限,该服务如何能够写入服务器的C驱动器?

如果WCF服务托管在IIS中,那么实际代码不会在IUSR用户下运行,而是在您为此特定应用程序池设置的帐户下运行

您可以轻松地检查身份,只需设置一个最简单的ASPX网页并将其粘贴到页面的文件中

<%@ Page Language="C#" %>

Current user: <%= System.Security.Principal.WindowsIdentity.GetCurrent().Name %>

当前用户:

没有您的设置无法知道。服务/应用程序池在哪个用户下运行?服务不必在IIS用户下运行。最简单的解决方案是检查保存文件的所有者。