2012-01-25 71 views
1

我有一個C#/。Net應用程序,實質上是一個胖客戶端數據收集應用程序。給定零件號碼,它會執行一些數據庫查詢(對外部Orcale數據庫),一些Sharepoint查詢,還會搜索某些網絡驅動器以獲取相關信息。現在我試圖將其改爲面向服務的體系結構。 Web服務現在駐留在服務器上,當由瘦客戶端調用時,執行db查詢,共享點查詢和文件系統查詢並返回結果。除文件搜索外,所有這些都很有效。搜索是空的,我想是因爲Web服務在它自己的小虛擬文件系統內執行,並且無法查看網絡驅動器來掃描它需要掃描的文件。如何啓用文件系統訪問Web服務?

有人可以推薦正確的方法來允許對網絡驅動器進行受保護的讀取訪問,以便服務可以獲取所需的信息?我不打算將這些文件直接提供給瘦客戶端,只需讓服務能夠訪問我們辦公室的全部網絡驅動器即可。順便說一下,Web服務託管在IIS 6,Windows Server 2003上。

+0

活動目錄在使用中嗎? – Kev

+0

是的,活動目錄正在使用 –

回答

0

根據用戶的Web服務正在運行(我不記得默認的IIS6是什麼,但懷疑它本質上是「網絡服務「),如果網絡共享受到保護,它將無法讀取網絡共享。您最好的選擇是創建一個域服務運行的域帳戶,並使用「Internet信息服務(IIS)管理器」配置應用程序池以所述用戶身份運行(注意:對於IIS 6,您還需要添加用戶到本地用戶組「IIS_WPG」)。

一個小問題,你在整個問題中提到「網絡驅動器」;您的服務將不會共享任何映射的網絡驅動器,因此您需要爲其提供完整的UNC路徑(即\\server\share而不是m:\)才能運行。

+0

謝謝,這基本上回答了我的問題。我知道驅動器映射問題,所以我沒有使用驅動器盤符。設置應用程序池標識似乎可行,但我更喜歡客戶端的憑據通過,因此用戶只能讀取它們允許的項目,而不是所有項目的空白帳戶。 –

+0

@RandyGamage,很高興它幫助=)pass-thru證書位是一個完全不同的水壺,總體上相當容易解決。這裏可能有一兩個問題(和/或在serverfault上)會爲你覆蓋它。 – Rob