我们可以通过如下的方法发布Visual Studio的网站:

生成”→“发布网站”;弹出对话框!

在打开的对话框中,有一个选项是至关重要的,那就是“允 许更新此预编译站点”;

“允许更新此预编译站点”这一项,默认情况下,前面是打上一个√的,至于要不要打上一个√,是可选的,那么,打勾与不打勾,有何区别呢?

也许大家都曾经发布过net网站,一般情况下,网站项目中的所有CS文件,会自动生成一个DLL动态链接库,这就能够很好的保护网站的源代码, 因为代码一般都是放在CS文件里面的,既然都生成了DLL文件,那么,上传到虚拟空间,别人就不能打开来看了!

但是,其它的文件,诸如ashx、aspx等文件,里面原来有什么,就是什么,别人可以打开这些文件来查看,尽管别人看不见CS代码,但是仍然 能够看见ASPX文件里面的HTML代码或部分服务器控件及相关的属性;

还有,ashx这样的文件,就相当于一个cs文件,里面的代码也是能够看见的。

因此,cs文件倒是安全了,但是网站中的ASPX、asxh等文件,是不安全的;对于整个网站而言,只有局部的安全,而没有整体的安全。

那么,到底有没有一种办法,让上传到虚拟空间的网站文件,都安全呢?方法是有的,通过“允许更新此预编译站点”这一项前面的√,就能实现;

①给“允许更新此预编译站点”打√

如果您给此项打勾,然后发布网站,那么,结果是这样的,整个网站文件,除了所有的CS文件编译成为一个DLL文件之外,其它的文件,和原来的没 有任何变化,里面是什么,还是什么,只要别人通过记事本一打开,里面的代码、HTML代码等,都可以让别人一览无余。

除此之外,通过此种方式发布的网站,当用户第一次访问某个页面的时候,需要经过编译,查找BUG,之后,如果没有任何错误,才能正常访问,因 此,速度会变得比较慢。(第二次、第三次……访问,速度就正常了)

②取消“允许更新此预编译站点”前面的√

如果您在发布网站的时候,取消了“允许更新此预编译站点”前面的勾,那么,结果是这样的:

1、网站里面的所有CS文件,都被编译成为一个DLL文件;

2、除了cs文件,其它的文件,诸如ASPX、ASHX等文件,也一同被编译起来,每个文件都在BIN目录里面生成一个对应 的*.compiled文件;

之后,如果您通过记事本查看ASPX、ASHX等文件,里面不会看到任何的代码,就连HTML代码标记都看不见,打开这样的文件,里面只有一行 文字,内容为“这是预编译工具生成的标记文件,不应被删除!”

但是,网站的访问却是正常的,不会出现任何不良的问题。

所以呢,使用这种方式发布网站,什么文件都不能通过记事本打开,里面显示的都是一行文字,因此,网站文件就非常安全了。

此外,通过此种方法发布的网站,所有内容都编译好了,打开的速度是很快的。

转载于:https://www.cnblogs.com/AlexCheng/archive/2011/07/17/2119988.html

允许更新此预编译站点的作用相关推荐

  1. ASP.NET网站发布-允许更新此预编译站点

    在打开的对话框中,有一个选项是至关重要的,那就是"允许更新此预编译站点": "允许更新此预编译站点"这一项,默认情况下,前面是打上一个√的,至于要不要打上一个√ ...

  2. VS2017中预编译头的作用(删除pch.h报错的原因)

    刚使用VS2017的时候新建的项目的pch.h文件搞得一头雾水,点进去看了这个文件,发现里面什么内容都没有,但是把他删除之后就会报错说没有添加pch.h文件.百度了一下,发现这个是VS2017新加的一 ...

  3. ASP.NET 网站预编译概述

    默认情况下,在用户首次请求资源(如网站的一个页)时,将动态编译 ASP.NET 网页和代码文件.第一次编译页和代码文件之后,会缓存编译后的资源,这样将大大提高随后对同一页提出的请求的效率. ASP.N ...

  4. JS数据类型及函数的预编译

    1.JS总体上分为:原始值和引用值 原始值分为:Number.Boolean.String.undefined.null;原始值不可改变的值,存储在栈[stack]的,先进后出! 引用值:array. ...

  5. ASP.NET Core Razor 视图预编译、动态编译

    0x01 前言 ASP.NET Core在默认发布情况下,会启动预编译将试图编译成xx.Views.dll,也许在视图中打算修改一处很细小的地方我们需要再重新编译视图进行发布.下面我将从 ASP.NE ...

  6. netcore 编译 html dll,ASP.NET Core Razor 视图预编译、动态编译

    0x01 前言 ASP.NET Core在默认发布情况下,会启动预编译将试图编译成xx.Views.dll,也许在视图中打算修改一处很细小的地方我们需要再重新编译视图进行发布.下面我将从 ASP.NE ...

  7. 关于预编译和Stdafx.h的若干问题

    预编译 预编译头的概念: 所谓的预编译头就是把一个工程中的那一部分代码,预先编译好放在一个文件里(通常是以.pch为扩展名的),这个文件就称为预编译头文件这些预先编译好的代码可以是任何的C/C++代码 ...

  8. 预编译头文件(precompiled header)说明

    今天在改一个很大的程序,慢慢看,慢慢改.突然发现一个.c文件,里面什么也没有,就几个头文件,我一看,这不是把简单的问题搞复杂了吗,随手删掉那个c文件.结果不能编译了: fatal error C108 ...

  9. C++中头文件(.h)和源文件(.cpp)都应该写些什么,头文件中的预编译语句作用,命名空间和头文件的区别与联系,内部链接和外部链接

    1. C++中头文件(.h)和源文件(.cpp)都应该写些什么: 总结下来就是头文件写的就是类的声明(包括类里面的成员和方法的声明)和函数的声明,但一般来说不写出具体的实现.对应的同名(可以不同名,但 ...

  10. golang直接调用ffmpeg预编译类库(windows)已更新

    MinGW介绍 MINGW(Minimalist GNU on Windows)是一个可以在windows下编译Linux程序的仿真linux编译环境,他提供了linux下的C.C++头文件.系统库和 ...

最新文章

  1. html与html5论文区别,HTML、XML、XHTML和HTML5的异同
  2. 温州大学《深度学习》课程课件(十、人脸识别与神经风格迁移)
  3. Python 程序员经常犯的 10 个错误
  4. ADO.Net 缓冲 插入大型数据
  5. LiveVideoStack线上分享第四季(三):在线教育的音视频架构设计及弱网对抗技术...
  6. iphone闪退修复工具_iOS14 beta5公测版更新:问题基本修复,已更新ios14的用户一定要更新!...
  7. Linux重启网卡的方法
  8. presto集群安装
  9. Node.js: 深入浅出Nodejs读书笔记
  10. 结构设计模式 - 代理设计模式
  11. ul li横向排列及圆点处理
  12. springBoot+springSecurity 数据库动态管理用户、角色、权限
  13. Meanshift and Camshift
  14. Elasticsearch入门四:Elasticsearch-搜索、过滤、聚合
  15. JAVA图形界面设计(GUI)学生成绩管理系统实战练习之登陆界面
  16. Map Coloring(翻译)
  17. 教你如何编辑修改PDF文件内容
  18. vue 添加滚动条 横向 竖向
  19. Macbook 开发之器,Mac OSX 应用软件,开发工具必备网站推荐
  20. 旧金山,这几天天气不错

热门文章

  1. 实时查询系统架构:spark流式处理+HBase+solr/ES查询
  2. 项目初期不同职位的人如何沟通?以及沟通的效率
  3. web前端炫酷特效-CSS3制作环形星星发光动画
  4. warning: mysql-community-libs-5.7.11-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5
  5. 再论:男人有多大责任和感恩代表着有多大的驾驭能力和事业能力
  6. Js打印object对象两种方法
  7. IIS HTTP文件服务器搭建步骤
  8. Openwrt netifd ubus解析
  9. OLEDB SqlHelper
  10. 13. Memcache 安装,启动,基本命令,URL