2010-03-10 84 views
1

我在遠程服務器上有一個文件,我想讀取此文件。 可以說該文件的位置是:在遠程服務器上讀取文件

string filePath = @"\\192.168.101.15\c$\program files\xxx\test.xml"; 
XmlDocument xmlDoc = new XmlDocument(); 
xmlDoc.Load(filePath); 

此代碼是肯定拋出一個錯誤: 登錄失敗:未知的用戶名或密碼錯誤。

我該如何傳遞我的憑據?

,如果我去開始/運行,並把這個路徑,我需要提供憑據允許使用Asp.net admin和密碼123

IM,C#3.5

任何想法

+0

看看'尋找最佳做法在C#中進行「網絡使用」 - http://stackoverflow.com/questions/8919/looking-for-best-practice-for-doing-a-net-use -in-C – 2010-03-10 15:06:24

回答

2

你說必須使用模擬,即用誰擁有存取權限的共享文件夾,而不是asp.net用戶的用戶執行代碼:

http://msdn.microsoft.com/en-us/library/aa292118%28VS.71%29.aspx

您有兩種方式: - 附代碼 - 附配置

+0

我添加到我的web.config <身份冒充= 「真」 的userName = 「域\管理員」 密碼= 「123」/> 林具有以下錯誤 配置錯誤 說明:在處理爲請求提供服務所需的配置文件期間發生錯誤。請查看下面的具體錯誤細節並適當修改您的配置文件。 解析器錯誤消息:無法從配置文件中指定的憑據創建Windows用戶令牌。操作系統登錄失敗:未知用戶名或密碼錯誤。 – user290611 2010-03-10 15:14:39

0

您的應用程序將需要爲訪問UNC路徑的用戶身份運行,或者模仿此類權限的用戶,文件加載操作。

0

在訪問文件之前,您需要對共享進行預先驗證。這不是通過傳遞UNC路徑就能做到的。

您可能會考慮以編程方式通過shell執行net use命令。這是我能找到的唯一方法。

+0

可以給我一個鏈接或例子如何做到這一點 感謝先進 – user290611 2010-03-10 15:16:01