本文來自:https://www.cnblogs.com/knowledgesea/p/5145087.html
環境說明
現有3臺服務器:(192.168.10.121)A, (172.18.5.61)B, (172.18.5.54)C ;
A服務器:圖片服務器,提供共享文件夾Ashare。
B,C兩臺服務器做IIS集羣,部署報表系統,使用A提供的Ashare文件。
提醒下,如果B,C的程序是跑的IIS Express,訪問A的Ashare沒問題,但是使用IIS,就訪問不到。不信你試試,下面講解是讓IIS也能訪問到的全過程。
創建共享文件
首先建立共享文件,不要嫌棄,創建這裏也給整理一下。
1、要共享出來的文件,右擊屬性:共享,加入用戶權限。
2、來到172.18.5.61,B服務器,打開我的電腦,在空白處右擊,添加網路位置:
驗證A服務器的用戶密碼,然後就可以啦。
IIS創建虛擬目錄
右擊B服務器的當前站點,添加虛擬目錄---連接爲---特定用戶:具體配置如下
這裏需要注意的是,A文件共享服務器需要創建zlh用戶名,B,C應用服務器也要創建同樣的用戶名zlh。謹記,必須!!
這裏也必須是用圖片服務器共享出來的用戶,制定爲特定用戶。
c#程序是訪問共享文件展示
這裏做一個簡單的示例程序,判斷共享文件夾中的文件是否存在。
protected void Page_Load(object sender, EventArgs e) { var path = @"\FileShare\0.jpg"; //由於FileShare是A服務器的共享文件,這裏解析的路徑爲:\\192.168.10.121\Ashare\0.jpg" path = Server.MapPath(path); var b= File.Exists(path); Response.Write(b); }
<body> <div> <img src="/FileShare/0.jpg" /> </div> </body>
<system.web> <!--<identity impersonate="true"/>--> <identity impersonate="true" userName="zlh" password="sa,.0" /> <compilation debug="true" targetFramework="4.5" /> <httpRuntime targetFramework="4.5" /> </system.web>
這裏需要注意的是:該站點也需要制定特定用戶訪問,且訪問用戶爲共享目錄提供的zlh用戶。
結果展示:
至此,IIS訪問共享文件的問題已經全部解決完成,你也可以搭建訪問下試試。