• IIS访问共享文件详解


    前言

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

    问题1、我们的报表使用的是微软的水晶报表,需要上传报表的配置文件,然后水晶报表提供的控件来读取文件,不支持直接图片服务器提供的http:www.xxxx.com/a.jpg。但是他支持\192.168.10.11ImgSharea.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.jpg";
                //由于FileShare是A服务器的共享文件,这里解析的路径为:\192.168.10.121Ashare.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访问共享文件的问题已经全部解决完成,你也可以搭建访问下试试。如果有问题,或有更多的解决方案分享,欢迎加入左上角的群,我们一起讨论解决。

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

  • 相关阅读:
    ASP.NET3.5 企业级项目开发 -- 第一章(续):企业级项目框架解决方案的提出
    ASP.NET安全问题--Forms验证(后篇)--实战篇
    ASP.NET安全问题--Froms验证的具体介绍(中篇)
    ASP.NET3.5 企业级项目开发 -- 第二章(续) 数据访问层(DAL)的开发解决方案提出
    ASP.NET3.5 企业级项目开发
    ASP.NET3.5 企业级项目开发 -- 第二章 数据访问层(DAL)的开发
    通过js的学习谈谈学习方法
    转载:LINQ to SQL更新数据库操作
    通用分页存储过程真的有注入漏洞吗?
    [MOSS开发]:webpart在部署时应该注意的地方
  • 原文地址:https://www.cnblogs.com/knowledgesea/p/5145087.html
Copyright © 2020-2023  润新知