.NET visual studio发布网站 允许更新此预编译站点 && 使用固定命名和单页程序集

①允许更新此预编译站点

  我们可以通过如下的方法发布VS2008的网站: “生成”→“发布网站”;弹出对话框!在打开的对话框中,有一个选项是至关重要的,那就是“允许更新此预编译站点”;

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

  也许大家都曾经发布过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代码标记都看不见,打开这样的文件,里面只有一行文字,内容为“这是预编译工具生成的标记文件,不应被删除!”

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

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

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

②使用固定命名和单页程序集

  默认情况下,当发布网站时,ASP.NET 会使用批编译功能来编译网站:编译器将每个文件夹中的多个源文件的输出合并到每个文件夹的单个程序集中。编译器根据各种不同的因素(包括源文件间的依赖项)来决定要合并哪些源输出。批编译将生成的名称分配给产生的程序集,而程序集不会直接映射到原始的源文件。有了批编译功能,每次发布网站时都会重新生成程序集名称。

  如果要只发布对网站特定部分的更新而不重新部署整个网站,则批编译所创建的程序集可能不适合于这种 网站。在这种情况下,使用与源文件一对一映射且具有可预知名称的程序集可能会更为方便。在 Visual Web Developer 中发布 ASP.NET 网站时,可以选择为单页程序集生成固定文件名;单页程序集是已编译的程序集,每个单页程序集对应于单个页或用户控件(即 .aspx、.ascx 和 .master 文件)。固定文件名选项也会在您编译和发布网站时保留程序集的名称。对单页程序集使用固定文件名时,将关闭批编译功能以进行预编译。(主题和外观文件以及不包含页或用户控件的其他文件夹都将继续编译为单个程序集。)选择生成固定程序集名称时,ASP.NET 将执行以下操作:

  为应用程序中的每个 .aspx、.ascx 和 .master 文件创建一个程序集。应该限制应用程序中的页数以减少生成的程序集数量。使用页的虚拟路径作为页的程序集的名称。如果虚拟路径长度超过操作系统的文件名长度限制,该工具将改为使用虚拟路径的哈希。与批编译时一样,将顶层目录(如 App_Code 目录)中的文件编译为单个程序集。

时间: 2024-12-18 07:52:37

.NET visual studio发布网站 允许更新此预编译站点 && 使用固定命名和单页程序集的相关文章

net网站发布-允许更新此预编译站点 及修改发布后内容

我们可以通过如下的方法发布VS2010的网站: “生成”→“发布网站”:弹出对话框! 在打开的对话框中,有一个选项是至关重要的,那就是“允许更新此预编译站点”: “允许更新此预编译站点”这一项,默认情况下,前面是打上一个√的,至于要不要打上一个√,是可选的,那么,打勾与不打勾,有何区别呢? 也许大家都曾经发布过net网站,一般情况下,网站项目中的所有CS文件,会自动生成一个DLL动态链接库,这就能够很好的保护网站的源代码,因为代码一般都是放在CS文件里面的,既然都生成了DLL文件,那么,上传到虚

Visurl Studio发布网站到windows azure

Windows azure现在已经很成熟了,所以就对功能不多介绍了,今天就主要介绍通过visurl studio发布网站到windows azure上:我们大家都知道,通过visurl studio可以创建项目然后通过发布到iis下来实现功能访问,其实发布到iis下是最常见的做法,现在呢,由于公司购买了windows azure服务,想把本地的iis服务迁移到windows azure上运行,所以就通过在测试环境下部署,下面为操作的整个步骤,供参考学习. 我们首先是需要安装visurl stud

安装Visual Studio 2013 update 2 更新包记录和新功能简单体验

昨天下载了进4个小时,将visual studio 2013 update 2 更新包和visual studio 2013 完整安装包(包含UPDATE2)的下载完成,今天抽出时间体验一下,昨天在网上看了一下英文翻译的说明,增加了一些支持和改进,我只是针对于我所看到的来操作使用一下,看看有啥变化吧.将ISO文件加载到虚拟光驱,然后开始安装更新包,界面弹出后告诉我需要大概3个多G的硬盘空间,嗨真是大啊.点击安装开始继续安装,我截个图如下 剩下是就是等着安装完成了,整个安装过程还是比较慢的,安装的

Visual Studio发布Web项目报错:Unable to add 'xxx' to the Web site. Unable to add file 'xxx'. The specified file could not be encrypted.

背景 Visual Studio下的Web项目 现象 发布时遇到Unable to add 'xxx' to the Web site.  Unable to add file 'xxx'. The specified file could not be encrypted.的报错 原因 这些文件(文件夹)被设置为"加密".可能因为这些文件是从Internet上下载并复制到项目下的文件夹,在被下载前就已经被启用"加密"选项 这些文件(文件夹)来自于其他计算机并被锁定

ASP.NET Core 中文文档 第二章 指南(3)用 Visual Studio 发布一个 Azure

小分享:我有几张阿里云优惠券,用券购买或者升级阿里云相应产品最多可以优惠五折!领券地址:https://promotion.aliyun.com/ntms/act/ambassador/sharetouser.html?userCode=ohmepe03 原文:Getting Started 作者:Rick Anderson 翻译:谢炀(Kiler) 校对:孟帅洋(书缘).刘怡(AlexLEWIS).何镇汐 设置开发环境 安装最新版本的 Azure SDK for Visual Studio 2

Visual Studio 发布新版API智能提示

本文转载:http://www.cnblogs.com/Jialiang/p/3966409.html 中文叫:Visual Studio示例代码浏览器 https://visualstudiogallery.msdn.microsoft.com/a1166718-a2d9-4a48-a5fd-504ff4ad1b65 Visual Studio 新版API智能提示两周前发布.有了它,你可以在调用API的同时,方便了解到API的相关示例代码.这大大地有助于开发人员学习和使用API. 安装方法如下

Visual Studio发布项目到远程服务器的步骤

第一步: 需要远程服务器上安装Web Deploy ,下载地址:http://www.iis.net/downloads/microsoft/web-deploy PS.安装时选择完全安装. 第二步: 2.安装Web Deploy之后,还需要启用IIS 的——管理服务. 第三步: 配置好管理服务之后,接下来需要进入IIS中通过管理服务来进行相应的设置: 双击管理服务,对IIS进行配置,这里我保持了默认的设置,您可以根据自己的情况进行设置: 第四步: 配置远部署Web项目的账户 基于安全考虑,我们

使用Visual Studio发布应用安装包

安装包制作方式 使用Visual Studio进行应用的打包分发有两种方式: 1.使用Clickonce发布安装包: 2.使用Setup工程发布安装包. 操作步骤 Clickonce发布安装包 1.右键“工程”,点击“发布”启动发布向导(工程“属性”中的“发布”页可以设置相关发布配置). Setup工程发布安装包 1.下载并安装“Visual Studio Installer Projects Extension”: 2.在解决方案中,添加“Setup”工程: 3.配置并发布安装包. 两种方式对

Visual Studio2010发布网站(一)

本人菜鸟,第一次发布网站,在网上搜寻了好久也没有找到比较详细的关于VS2010发布网站的帖子,通过借鉴结合网上各位大神的帖子自己尝试了一下,现在已成功的将网站部署在服务器上,下面就把我的经验和大家分享一下. 开发工具为MySql+VS2010,下面以开发本机为例说明一下如何将本机当做服务器,将网站发布在本机上.发布在服务器上的将在下一个帖子中详细说明. 一:确保你的电脑安装了IIS,如果没有的请先安装,具体安装步骤在网上有很多,在这里就不多说了. 二:打开VS,打开你要发布的项目,在解决方案管理