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共享文件中的内容:

小结

“解决问题+写博客”花费的时间可能是“解决问题+不写博客”的两倍,但写出来之后,你再也不用担心再次遇到这个问题,再也不会出现这样的郁闷。以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • .NET微信公众号客服接口

    本文实例为大家分享了微信公众号客服接口.NET代码,供大家参考,具体内容如下 Kf_account.cs代码: public partial class Kf_account : Form { private readonly DataTable adt_user = new DataTable(); private readonly string as_INIFile = Application.StartupPath + "\\user.ini"; public Kf_accoun

  • .NET垃圾回收器(GC)原理浅析

    作为.NET进阶内容的一部分,垃圾回收器(简称GC)是必须了解的内容.本着"通俗易懂"的原则,本文将解释CLR中垃圾回收器的工作原理. 基础知识 托管堆(Managed Heap) 先来看MSDN的解释:初始化新进程时,运行时会为进程保留一个连续的地址空间区域.这个保留的地址空间被称为托管堆. "托管堆也是堆",为什么这样说呢?这么说是希望大家不要被"术语"迷惑,这个知识点的前提是"值类型和引用类型的区别".这里假设读者已经知

  • 详述ASP.Net中页面之间传参方法

    ASP.NET提供了卓越的事件驱动编程模型,让开发者简化了应用程序的总体设计,但是这个也造成了它固有的一些问题,例如,使用传统的ASP里,我们可以通过使用POST方法很容易地实现页面间传递值,同样的事情,在使用事件驱动编程模型的ASP.NET就不是那么容易了,当然了,我们仍然有一些方法可以实现同样的功能. 本文将试着使用不同的可能的方法来解决这个问题,但可以预见是,本文将包含使用querystring,session变量以及server.Transfer方法来实现页面间的值传递. 使用Query

  • .NET微信公众号查看关注者接口

    本文实例为大家分享了java获取不同路径的方法,供大家参考,具体内容如下 实体类: public class userlist { public string total { get; set; } public string count { get; set; } public userlistopenid data { get; set; } public string next_openid { get; set; } } public class userlistopenid { pub

  • .Net 垃圾回收机制详细介绍

    析构函数 析构函数不能有修饰符,如public.不能接受任何参数. 编译器自动将一个析构函数转换成对Object.Finalize方法的一个override版,如下. class Test { protected override void Finalize() { try {-} finally { base.Finalize(); } } } 垃圾回收器 .NET垃圾回收器会保证: l  每个对象都会被摧毁,它的析构函数一定会被运行.当一个程序结束后,所有对象都会被销毁. l  每个对象只被

  • .NET微信公众号 用户分组管理

    本文实例为大家分享了.NET微信用户分组管理代码,供大家参考,具体内容如下 Model层实体类: public class UserList { public string total { get; set; } public string count { get; set; } public userlistopenid data { get; set; } public string next_openid { get; set; } } public class userlistopeni

  • asp.net保存网上图片到服务器的实例

    本文讲述的是根据一个图片的url地址,保存图片到asp.net服务器端的实现方法. 建立GetImage.aspx页面,代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="GetImage.aspx.cs" Inherits="KeleyiTestWeb.KImage.GetImage" %> <!DOCTYPE html PUBLI

  • ASP.NET中制作各种3D图表的方法

    前言 大家都知道通过图表控件,我们即能表示数据又能比较各种图表的数据,例如比较去年和今年的收入.图表的类型也有很多,如柱状图.折线图.条形图.组合图等等. 首先,我将展示如何绘制出一个简单的图表. 简单图表的步骤 步骤1 新建一个"ASP.NET Empty Web Site". 步骤2 在Solution Explorer 中添加新项目,添加new form. 步骤3 工具栏-标准-项目.我们会看到在.Net Framework Component.中有两个图表选项,打勾并保存..N

  • 详谈.net中的垃圾回收机制

    1. 自动内存管理和GC 在原始程序中堆的内存分配是这样的:找到第一个有足够空间的内存地址(没被占用的),然后将该内存分配.当程序不再需要此内存中的信息时程序员需要手动将此内存释放.堆的内存是公用的,也就是说所有进程都有可能覆盖另一进程的内存内容,这就是为什么很多设计不当的程序甚至会让操作系统本身都down掉.我们有时碰到的程序莫名其妙的死掉了(随机现象),也是因为内存管理不当引起的(可能由于本身程序的内存问题或是外来程序造成的).另一个常见的实例就是大家经常看到的游戏的Trainer,他们通过

  • 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,密码

  • C#如何访问共享文件夹或者磁盘

    本文实例为大家分享了C#访问共享文件夹或者磁盘的具体代码,供大家参考,具体内容如下 SharedTool: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Runtime.InteropServices; namespace ConsoleApplication5 { public class SharedTool : IDisposable {

  • CentOS 7使用samba共享文件夹的完整步骤

    前言 Samba是在Linux系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成. SMB(Server Messages Block, 信息服务块)是一种在局域网上共享文件和打印机的一种通信协议, 它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务. SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统,打印机及其他资源. 比如我想共享/home/samba这个文件夹给其他计算机使用. 安装samba yum install -y samba 创

  • MySQL数据库迁移data文件夹位置详细步骤

    由于yum安装mysql的时候,数据库的data目录默认是在/var/lib下,出于数据安全性的考虑需要把它挪到/data分区.步骤如下:一.关闭apache和mysql. 复制代码 代码如下: service httpd stopservice mysqld stop 二.将/var/lib下的mysql目录mv(移动)到data目录.为什么要用mv命令,而不用cp命令呢?应为linux文件系统特殊性,mv命令能保留文件的所有属性和权限,尤其是selinux属性.如果用cp命令,就需要回头再去

  • Java读写Windows共享文件夹的方法实例

    项目常常需要有访问共享文件夹的需求,例如共享文件夹存储照片.文件等.那么如何使用Java读写Windows共享文件夹呢? Java可以使用JCIFS框架对Windows共享文件夹进行读写,就这个框架可以让我们像访问本地文件夹一下访问远程文件夹. JCIFS的网址: http://jcifs.samba.org/ JCIFS是使用纯Java开发的一个开源框架,通过smb协议访问远程文件夹.该框架同时支持Windows共享文件夹和Linux共享文件夹,不过,Linux共享文件夹需要安装Samba服务

  • ASP.NET 上传文件到共享文件夹的示例

    目录 上传文件代码 web.config 工具方法 常量 具体上传文件代码 创建共享文件夹参考资料 上传文件代码 web.config <!--上传文件配置,UploadPath值一定是服务器ip,内网ip最好--> <add key="UploadPath" value="\\172.21.0.10\File" /> <add key="DownloadPath" value="http://x.x.x.

  • windows宿主机和docker容器设置挂载共享文件夹的步骤

    docker容器内的程序经常需要访问.调用宿主机目录中的数据,每次都要导入导出非常麻烦费力. 接下来,一步步实现将宿主机的指定文件夹挂载到docker容器中. 1. 打开Oracle VM VitualBox: 2. 点击[设置]->点击左侧的[共享文件夹] 3. 双击默认的[c/Users \\?\c:\Users],进行编辑,这里设置D盘下的data为挂载共享目录,名称可修改,此处设为"data". 点击确定 4. 重启virtualbox虚拟机,中间有等待时间: 5. 创建

  • VirtualBox 共享文件夹设置及开机自动挂载详细教程

    鉴于支付宝等服务无视我们Linux用户的存在,没办法,那只好在Linux上用VirtualBox虚拟一个Windows系统了.系统装好了,在日常使用过程中,往往要从VirtualBox的客户机(guest system)中使用主机(host system)里面的文件,那么通过共享文件夹的方式可以达成此目的. 我在这里写了个图文教程,说明设置过程,希望对大家有所帮助.(注:我的主机是Ubuntu Linux 8.04,客户机是Windows XP,VirtualBox版本2.2.4[下载]) 在V

  • 详解Windows与Linux共享文件夹互相访问

     详解Windows与Linux共享文件夹互相访问 首先安装并配置软件samba sudo yum install samba samba-client vim /etc/samba/smb.conf 找到security这行并将#注释符号去掉改成 security = share #共享模式 添加如下代码: [share] comment = share path = /home/test #设置共享文件夹目录 browseable = yes guest ok = yes writable

  • C#访问网络共享文件夹的方法

    本文实例为大家分享了C#访问网络共享文件夹的具体代码,供大家参考,具体内容如下 using System.Runtime.InteropServices; public enum ERROR_ID { ERROR_SUCCESS = 0, // Success ERROR_BUSY = 170, ERROR_MORE_DATA = 234, ERROR_NO_BROWSER_SERVERS_FOUND = 6118, ERROR_INVALID_LEVEL = 124, ERROR_ACCESS

随机推荐