程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> ASP.NET基礎 >> ASP.NET訪問共享文件夾的詳細步驟

ASP.NET訪問共享文件夾的詳細步驟

編輯:ASP.NET基礎

假設找找看的ASP.NET程序在A服務器,索引文件在B服務器的ZzkIndex共享文件夾中,訪問地址是\\192.168.18.18\ZzkIndex\。要實現就是在A服務器的ASP.NET程序中能讀寫共享文件夾\\192.168.18.18\ZzkIndex\中的文件。

具體操作步驟:

(注:A服務器為ASP.NET程序所在服務器,B服務器為共享文件夾所在服務器)

①在兩台服務器上建立相同用戶名、相同密碼的Windows帳戶(A與B服務器都要建),比如假設這裡用戶名是ZzkIndexer,密碼是zzk.cnblogs.com。

②取消兩台服務器上的ZzkIndexer帳戶的遠程控制(Remote Control)權限(讓這個帳戶擁有盡可能少的權限),如下圖:

③將B服務器上的ZzkIndexer帳戶移出所有用戶組(包含Users),如下圖:

不屬於任何用戶組?是的,不要懷疑,已經過實踐檢驗。

④在B服務器上創建共享文件夾ZzkIndex並給ZzkIndexer帳戶授予寫權限,有兩個權限需要設置,一個是文件系統權限,一個是共享權限。

文件系統權限設置如下圖:

共享權限設置如下:

⑤在A服務器的IIS中創建虛擬目錄指向B服務器的共享文件夾,如下圖:

點擊“確定”後,如果出現訪問拒絕(Access to the path '\\192.168.18.18\ZzkIndex' is denied.)的錯誤,不用管它。

⑥在A服務器的ASP.NET程序的web.config文件中,添加帳戶模擬設置:

<system.web>
  <identity impersonate="true" userName="ZzkIndexer" password="zzk.cnblogs.com"/>
</system.web>

⑦在A服務器上,設置“C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files”的文件系統權限,授予ZzkIndexer帳戶修改權限(注:v4.0.30319為當前.NET Framework版本號)。 否則,運行時會出現錯誤:The current identity (ZzkIndexer) does not have write access to 'C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files'.

⑧萬事具備,只欠測試!用一個簡單的test.aspx頁面測試一下,代碼如下:

<%@ Page Language="C#" AutoEventWireup="true" %>
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
  System.IO.File.Create(Server.MapPath("/ZzkIndex/cnblogs.txt"));
}
</script>

訪問test.aspx之後,看B服務器的ZzkIndex共享文件中的內容:

小結

“解決問題+寫博客”花費的時間可能是“解決問題+不寫博客”的兩倍,但寫出來之後,你再也不用擔心再次遇到這個問題,再也不會出現這樣的郁悶。以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved