我们正在开发一个Web服务,该服务必须运行与映射网络驱动器交互的第三方进程。所以我们必须以Web服务的编程方式映射这个驱动器。C# - 从Web服务映射网络驱动器
我已经包裹起来WNetAddConnection2,等在另一个项目一个更好的课,所以我扔的代码权利英寸
我们的Web服务是根据UltiDev卡西尼号(而不是IIS)这下运行运行系统帐户。我们每次都得到“指定设备名称无效”的错误代码。我也尝试在web.config文件中模拟其他用户,结果相同。
驱动器将映射得很好,当我从一个正常的用户帐户下的控制台程序运行我的代码。
我也尝试从C#运行等效的“net use”命令,其结果与WNetAddConnection完全相同。
有谁知道为什么Windows服务或系统用户将无法映射网络驱动器?
有谁知道解决方法?在系统启动时简单映射驱动器将是一个解决方案,但系统/模拟用户如何访问它?
链接UltiDev卡西尼号:UltiDev
SOLUTION:我设置UltiDev卡西尼服务在管理员登录,一切工作正常。 ASP .Net模拟不能按计划运行。
那么为什么web.config模拟不起作用?我在我们的日志中打印了Environment.Username,并打印了管理员,但是如果我查看UltiDev进程 - 它仍在Local System下。 UltiDev能做些奇怪的事情吗? – jonathanpeppers 2009-09-16 13:42:15
本地系统帐户具有网络访问权限,但它向网络资源提供匿名凭据。 – bryanbcook 2009-09-16 13:53:25