你的位置:首页 > ASP.net教程

[ASP.net教程]利用iis虚拟目录实现文件服务器功能(分布式存储)


要求说明:

  通过网站上传文件保存到统一的文件服务器上。

  服务器说明:

    1.文件服务器以下称为FilesServer,IP地址为:192.168.1.213
    2.Web服务器为以下称为WebServer,IP地址为:192.168.1.214

详细步骤:

  (1)在FilesServer和WebServer上分别新建一个新用户,要求这两个用户的用户名和密码均相同,具体创建过程不再赘述。列如我创建的用户名是File_Share,密码为Share123

  (2)在FilesServer上建立一个文件夹用来存储上传的文件,我这里新建了Share文件夹;然后将该文件夹设置为共享文件夹,具体步骤为(Windows Server 2012 Standard为例):

    1)在Share文件加上右键——属性,选择共享选项卡,单击点共享按钮,在弹出的对话框中单击下拉列表,选择刚刚新建的File_Share用户。

      

    2)根据自己的需要给File_Share用户添加读取/写入权限,然后单击共享按钮弹出对话框后点完成

      

    3)返回Share属性对话框,单击高级共享--全限--添加--高级--立即查找

      
    4)选中File_Share用户,单击确定,再单击确定来到以下的对话框,选中File_Share用户,根据需要加上完全控制等权限,然后确定。然后再两次一路确定,最终完成分享文件夹。

      

  (3)在WebServer的IIS的网站上右键--新建虚拟目录,别名随你喜欢,路径按照下图填,然后点击连接为,在连接为对话框中选特定用户,然后单击设置,填入File_Share的用户名和密码,然后一路确定。

    

  (4)回到IIS主界面,双击身份验证

      

  (5)选中匿名身份验证--编辑--设置填入File_Share的用户名和密码,一路确定。

    

  (6)如果是网站是.net版本,那么必须修改应用中的Web.config文件,<system.web>配置节中加入绿色部分<identity impersonate="true" ></identity>。

    

 <system.web>  <identity impersonate="true" ></identity><!--加入这一部分-->  <compilation debug="true" targetFramework="4.5.2"/>  <httpRuntime targetFramework="4.5.2"/>  <httpModules>   <add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web"/>  </httpModules> </system.web>

 

PS:

  1、关于虚拟目录在网站里的使用和普通的目录是一样的,string path = Server.MapPath("~/Files/")取到了path是 "\\\\192.168.1.213\\Share\\" 这个字符串

  2、本文参考了两篇文章结合自己的电脑做了部分修改,亲测可用,下面给出参考文章地址。

    1)IIS站点/虚拟目录中访问共享目录(UNC)http://blog.csdn.net/woshisadshiwo/article/details/6888807

 

    2)急急急,设置iis虚拟目录-指向局域网另一台电脑上共享文件夹问题,请高手帮忙解决!http://bbs.csdn.net/topics/390733877