我们公司服务器的权限只有CTO有,大家都知道CTO很忙啊,所以从研发部发布升级包到CTO更新到服务器往往会延迟好几天。而公司B/S产品的升级周期越来越短,通常一周一次迭代,任务紧了三五天一个版本,突击时刻一天都好几个版本。公司一方面想要将产品服务器与研发人员隔绝,一方面又想降低发布的成本。所以就有了这么一个需求:
1、将升级包通过一个独立的升级程序上传到远程服务器的产品备份目录;
2、更新升级包内容到产品测试目录;
3、测试测试目录的系统,没问题后通知CTO升级升级包到产品目录。在这个过程中有一个难题:我们有些产品是用的WebSite模式开发的,每次发布出来的dll文件名都是随机生成的,所以为了不出现类名冲突的问题,每次升级需要先删除原bin目录的文件。可是在IIS下,不能访问并删除任意网站的bin目录(不在同一网站下也一样),请问各路大侠有何良策啊。

解决方案 »

  1.   

    现在我们的做法是,在服务器iis中新建一个站点,这样相对于这个站点来说,其他站点的bin目录也是普通目录吧,然后就可以进行删除操作,但仍然被服务器拒绝此操作。
      

  2.   

    通过ws?在服务器上放一个winApp,然后通过bs程序调用来实现?请大家请帮忙献计献策,不一定要有代码,只要能行得通的思路也OK,如果分不够,可以再加。
      

  3.   

    这个貌似行不通吧,没试过,iis对文档有保护的,可能通过权限设置可行,不过危险性太大了
      

  4.   

    为了避免“iis对文档有保护的”,所以才新建了站点,来专门做这个事情,不过还是行不通。
    我将升级其他网站的这个升级程序站点的用户设置成administrator也没有办法诶,好像IIS着了魔似的,只要是bin就没权限了,不知道如何让站点得到local system的权限。
      

  5.   

    你的想法好诡异!~给IIS 管理员权限,真的很敢想!~
    我看了下 ,我能给出的解决方案是,你可以通过建立一个针对BIN文件夹的FTP管理权限。然后通过手动删除或者是通过站点操作这个FTP文件夹。
    如果FTP也不行的话!~我在想有没有办法!~或者你们给自己的服务器增加一个用户权限,这个用户就是专门关联BIN文件夹!~
      

  6.   

    在注册表里找到
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ASP.NET
    下面加两个DWORD类型的键:
    StopBinFilering   1 
    StopProtectedDirectoryFiltering   1
    然后运行iisreset重置iis 
      

  7.   

    公司管控存在问题
    通过VSS,SVN等实现版本控制
    FTP上传文件到目录
      

  8.   

    ftp不是没考虑过 没通过 因为给了ftp 同时也就看到了web.config中的数据库连接字符串,虽然经过编码了,但把编码串拿到本地照样可以解码出sql账号和密码
      

  9.   

    我们的cvs在公司的局域网中,远程服务器上没有,而且我们的产品并不仅仅在一台服务器上。既然有这方面需求,肯定是经过详细论证的,这个需求跟公司的管控没有必然关系,不过还是多谢您的建议!
      

  10.   

    如果你们的产品在很多服务器上我觉得你们应该采用一种web升级的机制建立升级服务器,针对不同产品的不同版本升级把你们的产品升级脚本指向你们的升级服务器就可以
      

  11.   

    而且删除bin目录,得停止一切相关windows和应用程序的服务及相关进程包括IIS。否则是删不掉的,或者删不干净一般网站服务器管理软件,都有一套网站ftp管理程序,增加删除权限是可以删除的不过要删除干净就要做到我前面说的那些
      

  12.   

    缺省情况下bin目录不允许访问,改了这个注册表设置就允许访问了