我有一个winforms,它与webservice连接。
Webservice有创建文件夹的方法
Directory.Create(path);
Webservice位于公司服务器上,我必须在公司的另一张光盘上创建此文件夹。
当我调用此方法时,我得到异常"Access denied to path..."
当webservice在我的电脑上运行时一切正常。
我可以完全访问此网络光盘。
但是如何设置对公司服务器的完全访问权限?
当我检查这个方法时:
[WebMethod]
public string GetNameOfUser()
{
return WindowsIdentity.GetCurrent().Name;
}
我得到<string>NT AUTHORITY\NETWORK SERVICE</string>
其他没有目录说明正常工作的web方法
编辑结构
计算机A在域中并且有正在运行的胜利表单
服务器A:正在运行webservice
网络光盘:有一些文件夹包含winforms应用程序的重要文件
是的,我们有一个域。计算机A可以访问网络光盘。答案 0 :(得分:2)
据我所知,您的应用程序尝试创建一个驻留在与Web应用程序不同的服务器上的文件夹。
您的网络应用程序在本地帐户NT AUTHORITY\NETWORK SERVICE
下运行。要访问网络共享,您需要在两台计算机上可用的帐户下运行,例如域帐户。
如果Web服务器和具有网络共享的服务器都在域中,您可以:
这将使您的Web应用程序在另一台服务器上创建foldera。
答案 1 :(得分:0)
当您在自己的计算机上运行Web应用程序时,它可以自行创建帐户,因此可以创建目录。
在服务器上,应用程序在权限很低的帐户下运行。 如果要在特定的固定目录下创建这些新目录,可以允许该服务器帐户修改该特定目录。