WNetAddConnection2无法从Windows 2008 R2中运行

问题描述:

我正尝试使用WNetAddConnection2通过我的ASP.NET Web应用程序连接到网络位置。当我使用随VS2010提供的ASP.NET开发服务器进行调试时,每件事情都很完美。但是,当我在Windows Server 2008 R2中部署代码时,它不会放置该文件并引发错误代码为0X80004005的Win32异常。应用程序池标识是网络服务,我正在使用域用户帐户进行冲突。WNetAddConnection2无法从Windows 2008 R2中运行

我一直在使用该命令检查连接和用户名密码,有效性和从服务器运行方式/ netonly /用户工作pefectly:域\用户“的explorer.exe \路径”

也请注意我的防火墙关掉,我没有在Windows Server 2008上运行杀毒软件。

任何帮助真的很感激。

我已经使用了示例代码How to provide user name and password when connecting to a network share

的WNetUseConnection会的工作,我们需要正确地定义它的所有结构。 WNetUseConnection(IntPtr.Zero,nr,密码,用户名,0,null,null,null);

与Windows Vista的Windows服务开始表现得安全,明智的不同,不允许任何“桌面相关的活动”(如安装成才)...

ASP.NET运行在作为服务运行的IIS下 - 您尝试的操作不受支持,只能通过绕过权限等几个问题才能实现。

不确定您要实现的目标?

也许有不同的方式来实现这一目标?

+0

我的ASP.NET应用程序生成一个CSV文件,我需要将其放到网络路径(具有特定权限)。另一种方法是在本地创建此CSV并使用另一个程序(Windows服务器或计划任务控制台应用程序)来选择此文件并放到网络位置。认为这是最简单的方法 - 根据文章人们得到这个工作... http://corner-house.blogspot.com/2006/03/accessing-shared-folders-in-aspnet.html –

+0

我明白,代码,但正如我所说:这些事情随着Vista而改变,如果你不想认真对待权限,你就不能以这种方式工作......我建议只生成CSV,将它存储在本地,以及任何需要它的人可以通过HTTP URL/GET获得...这可以是预定作业或任何真正在服务外部运行的应用程序... – Yahia

+0

我已将代码移动到配置了计划任务的控制台应用程序。不过,我发现WNetAddConnection2存在间断行为。他们有任何其他方式连接到网络共享?该代码只工作过一次,但之后失败,出现相同的错误。 –