2011-09-01 52 views
1

我正嘗試使用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

回答

0

的WNetUseConnection會的工作,我們需要正確地定義它的所有結構。 WNetUseConnection(IntPtr.Zero,nr,密碼,用戶名,0,null,null,null);

1

與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存在間斷行爲。他們有任何其他方式連接到網絡共享?該代碼只工作過一次,但之後失敗,出現相同的錯誤。 –

相關問題