我正在尝试使用WNetAddConnection2通过我的ASP.NET Web应用程序连接到网络位置。当我使用随VS2010提供的ASP.NET开发服务器进行调试时,每件事都完美无缺。但是当我在Windows Server 2008 R2中部署代码时,它不会放置文件并抛出Win32异常,错误代码为0X80004005。应用程序池标识是网络服务,我使用域用户帐户进行imparsanation。
我已使用该命令检查了连接性和用户名密码的有效性,它可以从服务器runas / netonly / user中完美地运行:DOMAIN \ User“explorer.exe \ Path”
请注意我的防火墙已关闭,我在Windows Server 2008上没有运行防病毒软件。
非常感谢任何帮助。
我使用了How to provide user name and password when connecting to a network share
中的示例代码答案 0 :(得分:1)
从Windows Vista开始Windows服务在安全方面表现不同,不允许任何“与桌面相关的活动”(如安装某些活动)......
ASP.NET在作为服务运行的IIS下运行 - 您尝试的内容不受支持,只能通过绕过权限等几个问题来实现。
不确定您要实现的目标是什么?
也许有不同的方法来实现这个目标......
答案 1 :(得分:1)
WNetUseConnection将起作用,我们需要正确定义其所有结构。 WNetUseConnection(IntPtr.Zero,nr,密码,用户名,0,null,null,null);