zoukankan      html  css  js  c++  java
  • 实战ASP.NET访问共享文件夹(含详细操作步骤)

    转载:http://www.cnblogs.com/dudu/archive/2012/03/27/asp_net_share_folder.html

    博客园找找看(http://zzk.cnblogs.com)的索引文件占用空间太大,需要移至另外一台服务器,所以要解决“在ASP.NET中通过共享文件夹访问索引文件”的问题。

    假设找找看的ASP.NET程序在A服务器,索引文件在B服务器的ZzkIndex共享文件夹中,访问地址是\192.168.18.18zkIndex。要实现就是在A服务器的ASP.NET程序中能读写共享文件夹\192.168.18.18zkIndex中的文件。

    参考园子里的 asp.net访问网络映射盘的问题 文章,我们解决了这个问题,在这里分享一下。

    具体操作步骤:
    (注:A服务器为ASP.NET程序所在服务器,B服务器为共享文件夹所在服务器) 

    1. 在两台服务器上建立相同用户名、相同密码的Windows帐户(A与B服务器都要建),比如假设这里用户名是ZzkIndexer,密码是zzk.cnblogs.com。
    2. 取消两台服务器上的ZzkIndexer帐户的远程控制(Remote Control)权限(让这个帐户拥有尽可能少的权限),如下图:

    3. 将B服务器上的ZzkIndexer帐户移出所有用户组(包含Users),如下图:

      不属于任何用户组?是的,不要怀疑,已经过实践检验。

    4. 在B服务器上创建共享文件夹ZzkIndex并给ZzkIndexer帐户授予写权限,有两个权限需要设置,一个是文件系统权限,一个是共享权限。
      文件系统权限设置如下图:

      共享权限设置如下:

    5. 在A服务器的IIS中创建虚拟目录指向B服务器的共享文件夹,如下图:

      点击“确定”后,如果出现访问拒绝(Access to the path '\192.168.18.18zkIndex' is denied.)的错误,不用管它。
    6. 在A服务器的ASP.NET程序的web.config文件中,添加帐户模拟设置:
      <system.web>
      <identity impersonate="true" userName="ZzkIndexer" password="zzk.cnblogs.com"/>
      </system.web>
    7. 在A服务器上,设置“C:WindowsMicrosoft.NETFramework64v4.0.30319Temporary ASP.NET Files”的文件系统权限,授予ZzkIndexer帐户修改权限(注:v4.0.30319为当前.NET Framework版本号)。 否则,运行时会出现错误:The current identity (ZzkIndexer) does not have write access to 'C:WindowsMicrosoft.NETFramework64v4.0.30319Temporary ASP.NET Files'.
    8. 万事具备,只欠测试!用一个简单的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共享文件中的内容:

      搞定!

    小结

    “解决问题+写博客”花费的时间可能是“解决问题+不写博客”的两倍,但写出来之后,你再也不用担心再次遇到这个问题,再也不会出现这样的郁闷:有人问我一个曾经解决过的问题,我却忘了当时是怎么解决的。 

  • 相关阅读:
    Leetcode 50.Pow(x,n) By Python
    Leetcode 347.前K个高频元素 By Python
    Leetcode 414.Fizz Buzz By Python
    Leetcode 237.删除链表中的节点 By Python
    Leetcode 20.有效的括号 By Python
    Leetcode 70.爬楼梯 By Python
    Leetcode 190.颠倒二进制位 By Python
    团体程序设计天梯赛 L1-034. 点赞
    Wannafly挑战赛9 C-列一列
    TZOJ Start
  • 原文地址:https://www.cnblogs.com/xiaotiannet/p/4024847.html
Copyright © 2011-2022 走看看