IIS访问共享文件详解
前言
公司同事做了一个报表系统,需要做集群部署,本来是一件挺容易的事,但是部署过程中却遇到啦种种蛋疼问题。
问题1、我们的报表使用的是微软的水晶报表,需要上传报表的配置文件,然后水晶报表提供的控件来读取文件,不支持直接图片服务器提供的http:www.xxxx.com/a.jpg。但是他支持\\192.168.10.11\ImgShare\a.jpg。
问题2、IIS使用共享文件的时候,出现权限问题致使c#无法访问到服务器共享文件。
那么这篇文章我就针对上面2个问题来展开IIS访问共享文件的实战详细过程。
环境说明
现有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访问共享文件的问题已经全部解决完成,你也可以搭建访问下试试。如果有问题,或有更多的解决方案分享,欢迎加入左上角的群,我们一起讨论解决。
这里我提问一个问题,是关于自己搭建文件服务器,那么文件的解压压缩功能,大家都是怎么做的?
IIS访问共享文件详解的更多相关文章
- Apache/Nginx/IIS 访问日志详解
Apache日志详解 1.Apache日志文件名称及所在路径 日志文件一般都是保存在在apache/logs目录下,实际情况可以根据Apache的配置文件去查找日志文件所在的路径. 例如phpstud ...
- IIS日志字段详解
IIS日志字段详解 抓住8月的尾巴,弥补下这个月的空白,事情太多,忘了写博客这回事了. IIS日志字段设置 网站运营时 ...
- SEO方式之HTTPS 访问优化详解
SEO到底要不要做HTTPS?HTTPS对SEO的重要性 正方观点 1.HTTPS具有更好的加密性能,避免用户信息泄露: 2.HTTPS复杂的传输方式,降低网站被劫持的风险: 3.搜索引擎已经全面支持 ...
- IIS 之 功能详解
IIS (Internet Information Services)信息服务管理器,本文以Windows10环境下的IIS为例,主要包含:FTP 服务器.Web 管理工具.万维网服务三大部分,如下表 ...
- SharePoint 开启网站匿名访问图文详解
SharePoint 开启网站匿名,需要先开启web application的匿名访问,然后开启site的匿名访问.特别的,site可以选择整个网站开启或者列表和库开启匿名,如果选择列表和库开启匿名, ...
- thinkphp四种url访问方式详解
本文实例分析了thinkphp的四种url访问方式.分享给大家供大家参考.具体分析如下: 一.什么是MVC thinkphp的MVC模式非常灵活,即使只有三个中和一个也可以运行. M -Model 编 ...
- Express在windows IIS上部署详解
最近公司在用Express+angularjs+wcf开发系统,让我在windows上部署系统,遇到不少问题,不过最后还是解决了,在IIS上部署系统, 首先windows需安装以下软件: 1.node ...
- scala 访问权限详解
private/protected [包名/类名/this] 即可指定变量的作用域.(this代表只有当前实例(即对象)可以访问) 伴生类和伴生对象中的成员可以相互访问. class PackageO ...
- Java的访问权限详解(3+1)public private protected default
Java使用三个关键字在类的内部设定访问权限:public.private.protected.这些访问指定词(access specifier)决定了紧跟其后被定义的成员(方法或属性)可以被谁使用. ...
随机推荐
- Fis3的前端模块化之路[基础篇]
Fis3版本:v3.4.22 fis3是一个构建工具 解决前端开发中自动化工具.性能优化.模块化框架.开发规范.代码部署.开发流程等问题. 安装 npm install -g fis3 运行 fis3 ...
- gradle学习笔记(1)
1. 安装 (1) 下载最新gradle压缩包,解压到某处.地址是:Gradle web site: (2) 添加环境变量: 1) 变量名:GRADLE_HOM ...
- HTTP常用状态码分析
不管是面试还是工作中,经常会碰到需要通过HTTP状态码去判断问题的情况,比如对于后台RD,给到前端FE的一个接口,出现502或者504 error错误,FE就会说接口存在问题,如果没有知识储备,那就只 ...
- spring boot 实战:我们的第一款开源软件
在信息爆炸时代,如何避免持续性信息过剩,使自己变得专注而不是被纷繁的信息所累?每天会看到各种各样的新闻,各种新潮的技术层出不穷,如何筛选出自己所关心的? 各位看官会想,我们是来看开源软件的,你给我扯什 ...
- 多线程 异步 beginInvoke EndInvoke 使用
有许多耗时操作时,还要响应用户操作.这时候就需要用其他线程或者异步来搞.本来是改造公司的日志组件.因为多上了个国外大区的业务到来本系统来.这个系统其他地方都好就是日志,动不动就要死给我们看.有时候寻找 ...
- PHP设计模式(五)建造者模式(Builder For PHP)
建造者模式:将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示的设计模式. 设计场景: 有一个用户的UserInfo类,创建这个类,需要创建用户的姓名,年龄,爱好等信息,才能获得用 ...
- javascript arguments(转)
什么是arguments arguments 是是JavaScript里的一个内置对象,它很古怪,也经常被人所忽视,但实际上是很重要的.所有主要的js函数库都利用了arguments对象.所以agru ...
- 手机游戏渠道SDK接入工具项目分享(二)万事开头难
一般接到任务后程序员们通常都开始着手进行技术调研了,但我这活是项目负责人.还有一大堆事情要先期准备,没人能帮忙. 一.人力配置 考虑的之前已经有一波人搞了大半年,但没有起色,先期也没有太大人力需求,所 ...
- 在Ubuntu下搭建Spark群集
在前一篇文章中,我们已经搭建好了Hadoop的群集,接下来,我们就是需要基于这个Hadoop群集,搭建Spark的群集.由于前面已经做了大量的工作,所以接下来搭建Spark会简单很多. 首先打开三个虚 ...
- 树莓派3B的食用方法-1(装系统 网线ssh连接)
首先要有一个树莓派3B , 在某宝买就行, 这东西基本上找到假货都难,另外国产和英国也没什么差别,差不多哪个便宜买哪个就行. 不要买店家的套餐,一个是配的东西有些不需要,有的质量也不好. 提示:除了G ...