前言

公司同事做了一个报表系统,需要做集群部署,本来是一件挺容易的事,但是部署过程中却遇到啦种种蛋疼问题。

问题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访问共享文件的问题已经全部解决完成,你也可以搭建访问下试试。如果有问题,或有更多的解决方案分享,欢迎加入左上角的群,我们一起讨论解决。

这里我提问一个问题,是关于自己搭建文件服务器,那么文件的解压压缩功能,大家都是怎么做的?

最新文章

  1. 修改C:\WINDOWS\system32\drivers\etc\hosts 文件有什么作用
  2. solrconfig.xml介绍
  3. OAUTH 协议介绍
  4. C++ shared_ptr deleter的实现
  5. linux环境中 对tomcat配置java环境
  6. 启用Spring quartz定时器,导致tomcat服务器自动停止
  7. 谁有SMI-S Provider的一些源码,能参考一下吗
  8. layout_toLeftOf = “@id/XX” 提示找不到该id的控件
  9. 应用程序初次运行数据库配置小程序(Java版)
  10. JAVA中断机制详解
  11. DOUAudioStreamer 中kqueue的应用
  12. Nginx (三) 使用Keepalived搭建高可用服务
  13. linux系统编程:IO读写过程的原子性操作实验
  14. Django缓存机制
  15. js if判断示例
  16. Windows下安装MySQL8
  17. 网络基础&#160;记一次HTTPS证书验证测试过程
  18. ubuntu——caffe配置deeplab
  19. 20165327 2017-2018-2 《Java程序设计》第6周学习总结
  20. MapReduce部分源码解读(一)

热门文章

  1. 通过adb方式给安卓手机截图的cmd批处理文件
  2. android自定义控件一站式入门
  3. Laravel Composer and ServiceProvider
  4. C#多线程之线程池篇1
  5. 在开启DRS的集群中修复VMware虚拟主机启动问题
  6. C++内联函数
  7. jQuery的属性
  8. python之最强王者(9)——函数
  9. PHP设计模式(三)抽象工厂模式(Abstract Factory For PHP)
  10. Angular2 Hello World 之 2.0