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)决定了紧跟其后被定义的成员(方法或属性)可以被谁使用. ...
随机推荐
- 01.LoT.UI 前后台通用框架分解系列之——小图片背景全屏显示(可自动切换背景)
LOT.UI分解系列汇总:http://www.cnblogs.com/dunitian/p/4822808.html#lotui LoT.UI开源地址如下:https://github.com/du ...
- .NET Core采用的全新配置系统[10]: 配置的同步机制是如何实现的?
配置的同步涉及到两个方面:第一,对原始的配置文件实施监控并在其发生变化之后从新加载配置:第二,配置重新加载之后及时通知应用程序进而使后者能够使用最新的配置.要了解配置同步机制的实现原理,先得从认识一个 ...
- SQL Server-聚焦在视图和UDF中使用SCHEMABINDING(二十六)
前言 上一节我们讨论了视图中的一些限制以及建议等,这节我们讲讲关于在UDF和视图中使用SCHEMABINDING的问题,简短的内容,深入的理解,Always to review the basics. ...
- .Net 分布式云平台基础服务建设说明概要
1) 背景 建设云平台的基础框架,用于支持各类云服务的业务的构建及发展. 2) 基础服务 根据目前对业务的理解和发展方向,总结抽象出以下几个基础服务,如图所示 3) 概要说明 基础服务的发展会根 ...
- hadoop2.7之Mapper/reducer源码分析
一切从示例程序开始: 示例程序 Hadoop2.7 提供的示例程序WordCount.java package org.apache.hadoop.examples; import java.io.I ...
- C#——传值参数(2)
//我的C#是跟着猛哥(刘铁猛)(算是我的正式老师)<C#语言入门详解>学习的,微信上猛哥也给我讲解了一些不懂得地方,对于我来说简直是一笔巨额财富,难得良师! 这次与大家共同学习C#中的 ...
- unity3d导出到IOS程序下 集成unity3dAR功能
转载自: 来自AR学院(www.arvrschool.com),原文地址为:http://www.arvrschool.com/index.php?c=post&a=modify&ti ...
- can't run roscore 并且 sudo 指令返回 unable to resolve host
I'm using ubuntu14 LTS. Problems: 1. When run roscore, got a mistake and an advice to ping the local ...
- Openstack Periodic Task
Openstack Periodic Task 周期性任务在各个模块的manager.py(computer,scheduler,cell,network)中添加. 添加方法:在模块manager类实 ...
- python selenium
https://segmentfault.com/a/1190000007249396?_ea=1293878