请问大家是如何管理asp.net的网站的啊

fonvey 2008-12-28 01:26:25
请问大家是如何管理asp.net的网站的啊!
就是说asp.net编译后放上网站,,如何要对某个小功能进行修改后,,还要重新整站编译,,整站重新上传吗?那不是很麻烦吗
...全文
234 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
fonvey 2008-12-29
  • 打赏
  • 举报
回复
有没有人有更好的管理方法
MAOGE1987 2008-12-28
  • 打赏
  • 举报
回复
哎。。都说完了
学习
niitnanfeng 2008-12-28
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 qq196260188 的回复:]
1.允许更新此预编辑站点

选中这一项后,编译出来的包括aspx文件和dll,与2003下一样。
不选中这一项,编译出来的aspx中没有界面信息,只有一句静态文本,就是不允许发布后修改页面

为了不让订阅网站的用户在第一次打开页面时感受到明显的延迟,可以使用"完全预编译(full pre-compilation)"方式.
如果是想此编译方式具有最大的安全性,应去掉"允许更新此预编译站点(Allow this precompiled site to be updateable". 这样代码…
[/Quote]
强,这么详细。
fonvey 2008-12-28
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 qq196260188 的回复:]
1.允许更新此预编辑站点

选中这一项后,编译出来的包括aspx文件和dll,与2003下一样。
不选中这一项,编译出来的aspx中没有界面信息,只有一句静态文本,就是不允许发布后修改页面

为了不让订阅网站的用户在第一次打开页面时感受到明显的延迟,可以使用"完全预编译(full pre-compilation)"方式.
如果是想此编译方式具有最大的安全性,应去掉"允许更新此预编译站点(Allow this precompiled site to be updateable". 这…
[/Quote]试一下你的方法可不可行先
cao_love 2008-12-28
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 syc958 的回复:]
<%=%>写在这里面就不用再编译了....嘻嘻....就算改写只用上传一下改过的那个页面的dll和改过的那个aspx...页面就好了..........
[/Quote]
只上传差异部分
qq196260188 2008-12-28
  • 打赏
  • 举报
回复
1.允许更新此预编辑站点

选中这一项后,编译出来的包括aspx文件和dll,与2003下一样。
不选中这一项,编译出来的aspx中没有界面信息,只有一句静态文本,就是不允许发布后修改页面

为了不让订阅网站的用户在第一次打开页面时感受到明显的延迟,可以使用"完全预编译(full pre-compilation)"方式.
如果是想此编译方式具有最大的安全性,应去掉"允许更新此预编译站点(Allow this precompiled site to be updateable". 这样代码文件(code,即cs文件)和内容文件(content file,即aspx)都会预编译

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

会案照画面的类名编译出很多名字固定的dll。

3.对预编辑程序集启用强命名
在多数情况下,完全预编译方式正是所需要的方式,但是有时候因为内容文件变化不大,你可能希望在网站发布后,不用每次把所有的代码与内容文件全部编译,也许内容文件就不用再次编译,只需编译代码文件即可,这种情况下,就选中"允许更新此预编译站点",这种方式称为"只预编译代码文件(pre- compilation of code only)"方式.此方式与"完全预编译方式"相比较,只有一点区别,即内容文件仍是原始版本,而不是存根 (stub)版本,其它效果相同.在内容文件发布后也可以对其进行编辑,其变动在以后的请求到来时起作用,对于访问此站的用户来说是透明的.


附:
强命名(strong names) 如果一个assembly需要共享,则其必须使用强命名.一个强命名唯一标识了一个assembly.有四部分组成: 1,assembly名称(不包含文件扩展名);2,版本; 3,culture; 4,密钥对(即一个公钥和一个私钥),保存在key文件中,所以说 key文件就是同时包含了公钥和私钥的文件,在使用强命名时当然是需要此key文件的.创建key文件用命令: sn -k KeyPair.snk

延迟签名:显然,每个公司的私钥都必须非常安全地保存,然后这就带来一个进退两难的问题:在开发和测试一个共享的assembly时,需要使用强命名方式, 而创建强命名时肯定需要访问私钥的,但是又不能把公司的私钥提供给参与项目开发的且需要创建强命名的所有开发人员,怎么办? 这时就要用"延迟签名"技术.此种方式下,在创建强命名assembly时,只需要提供公钥,因为公钥提供给所有的人是允许的,也是安全的,利用公钥,开发人员可以进行程序的开发和测试工作,直到准备进行最终的build时,才同时使用公钥和私钥. 延迟签名需要从key文件中把公钥解出来,形成独立的公钥文件,通过使用命令: sn -p KeyPair.snk PublicKey.snk即可.这样,publicKey.snk只包含公钥,就可以用了.

出现问题

visual studio2005将网站开发和网站发布的目录分开,本身是个很好的设定
但每一次发布网站,网站dll文件都会生成随机的名字,页面继承的类都会继承随机的名字
这就造成了,哪怕是一点很小的修改,在发布网站之后,也必须重新上传所有的页面
如果采用“固定命名和单页程序集”的方式,又会生成太多dll文件,看着就心烦


解决方法

安装:
http://download.microsoft.com/download/9/4/9/9496adc4-574e-4043-bb70-bc841e27f13c/WebDeploymentSetup.msi

右键在当前解决方案里生成一个:Add Web Deployment Project 项目, 在该项目里就可以设置生成DLL的命名方式了,以后生成该项目就可以生成相应的网站!原有的发布网站的功能可以退休了!


参考微软原文

http://msdn2.microsoft.com/en-us/asp.net/aa336619.aspx

使用WebDeployment Project改善VS2005发布网站问题 (一) 基础

VS2005发布网站时不会像VS2003一样生成规则的DLL文件、而生成的DLL文件名含有随机数且不能一个项目生成一个DLL文件、让人有一些遗憾、为了做到像vs2003一样,微软发布了WebDeployment Project插件可解决此问题:
下载地址
1、下载后安装、右键选择vs2005中的项目、会出现一个选项"Add Web Deployment Project"(http://www.cnblogs.com/chy710)

2、选择添加一个WebDeployment Project(输入程序集名称和发布地址)

3、此时解决方案中会多出一个项目(http://www.cnblogs.com/chy710)

4、右键选择该项目设置相应属性


5、右键选择该项目选择“生成”、此时会发布网站到指定的目录、生成DLL文件同vs2003一样、更新时只需上传DLL文件
(http://www.cnblogs.com/chy710)


我运行发现这个错,


错误 1 “aspnet_merge.exe”已退出,代码为 1。 C:"Program Files"MSBuild"Microsoft"WebDeployment"v8.0"Microsoft.WebDeployment.targets 574 9 DaishuSite

后来网上查了下。是类存在同名的缘故。

将VS 2005的工具-选项-项目和解决方案-生成并运行,设置“MSBuild 项目生成输出详细信息”,选择“详细”。再次生成Web Deployment Projects项目,“输出”框内的信息就变得非常丰富了;这样就可以查看哪里出错了

然后就知道是哪个画面类重名了。然后更改就ok
成长,我们一起见证!


jiang_jiajia10 2008-12-28
  • 打赏
  • 举报
回复
修改完了覆盖一下DLL就可以了
qq196260188 2008-12-28
  • 打赏
  • 举报
回复
1.允许更新此预编辑站点

选中这一项后,编译出来的包括aspx文件和dll,与2003下一样。
不选中这一项,编译出来的aspx中没有界面信息,只有一句静态文本,就是不允许发布后修改页面

为了不让订阅网站的用户在第一次打开页面时感受到明显的延迟,可以使用"完全预编译(full pre-compilation)"方式.
如果是想此编译方式具有最大的安全性,应去掉"允许更新此预编译站点(Allow this precompiled site to be updateable". 这样代码文件(code,即cs文件)和内容文件(content file,即aspx)都会预编译

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

会案照画面的类名编译出很多名字固定的dll。

3.对预编辑程序集启用强命名
在多数情况下,完全预编译方式正是所需要的方式,但是有时候因为内容文件变化不大,你可能希望在网站发布后,不用每次把所有的代码与内容文件全部编译,也许内容文件就不用再次编译,只需编译代码文件即可,这种情况下,就选中"允许更新此预编译站点",这种方式称为"只预编译代码文件(pre- compilation of code only)"方式.此方式与"完全预编译方式"相比较,只有一点区别,即内容文件仍是原始版本,而不是存根 (stub)版本,其它效果相同.在内容文件发布后也可以对其进行编辑,其变动在以后的请求到来时起作用,对于访问此站的用户来说是透明的.


附:
强命名(strong names) 如果一个assembly需要共享,则其必须使用强命名.一个强命名唯一标识了一个assembly.有四部分组成: 1,assembly名称(不包含文件扩展名);2,版本; 3,culture; 4,密钥对(即一个公钥和一个私钥),保存在key文件中,所以说 key文件就是同时包含了公钥和私钥的文件,在使用强命名时当然是需要此key文件的.创建key文件用命令: sn -k KeyPair.snk

延迟签名:显然,每个公司的私钥都必须非常安全地保存,然后这就带来一个进退两难的问题:在开发和测试一个共享的assembly时,需要使用强命名方式, 而创建强命名时肯定需要访问私钥的,但是又不能把公司的私钥提供给参与项目开发的且需要创建强命名的所有开发人员,怎么办? 这时就要用"延迟签名"技术.此种方式下,在创建强命名assembly时,只需要提供公钥,因为公钥提供给所有的人是允许的,也是安全的,利用公钥,开发人员可以进行程序的开发和测试工作,直到准备进行最终的build时,才同时使用公钥和私钥. 延迟签名需要从key文件中把公钥解出来,形成独立的公钥文件,通过使用命令: sn -p KeyPair.snk PublicKey.snk即可.这样,publicKey.snk只包含公钥,就可以用了.

出现问题

visual studio2005将网站开发和网站发布的目录分开,本身是个很好的设定
但每一次发布网站,网站dll文件都会生成随机的名字,页面继承的类都会继承随机的名字
这就造成了,哪怕是一点很小的修改,在发布网站之后,也必须重新上传所有的页面
如果采用“固定命名和单页程序集”的方式,又会生成太多dll文件,看着就心烦


解决方法

安装:
http://download.microsoft.com/download/9/4/9/9496adc4-574e-4043-bb70-bc841e27f13c/WebDeploymentSetup.msi

右键在当前解决方案里生成一个:Add Web Deployment Project 项目, 在该项目里就可以设置生成DLL的命名方式了,以后生成该项目就可以生成相应的网站!原有的发布网站的功能可以退休了!


参考微软原文

http://msdn2.microsoft.com/en-us/asp.net/aa336619.aspx

使用WebDeployment Project改善VS2005发布网站问题 (一) 基础

VS2005发布网站时不会像VS2003一样生成规则的DLL文件、而生成的DLL文件名含有随机数且不能一个项目生成一个DLL文件、让人有一些遗憾、为了做到像vs2003一样,微软发布了WebDeployment Project插件可解决此问题:
下载地址
1、下载后安装、右键选择vs2005中的项目、会出现一个选项"Add Web Deployment Project"(http://www.cnblogs.com/chy710)

2、选择添加一个WebDeployment Project(输入程序集名称和发布地址)

3、此时解决方案中会多出一个项目(http://www.cnblogs.com/chy710)

4、右键选择该项目设置相应属性


5、右键选择该项目选择“生成”、此时会发布网站到指定的目录、生成DLL文件同vs2003一样、更新时只需上传DLL文件
(http://www.cnblogs.com/chy710)


我运行发现这个错,


错误 1 “aspnet_merge.exe”已退出,代码为 1。 C:"Program Files"MSBuild"Microsoft"WebDeployment"v8.0"Microsoft.WebDeployment.targets 574 9 DaishuSite

后来网上查了下。是类存在同名的缘故。

将VS 2005的工具-选项-项目和解决方案-生成并运行,设置“MSBuild 项目生成输出详细信息”,选择“详细”。再次生成Web Deployment Projects项目,“输出”框内的信息就变得非常丰富了;这样就可以查看哪里出错了

然后就知道是哪个画面类重名了。然后更改就ok
成长,我们一起见证!


fonvey 2008-12-28
  • 打赏
  • 举报
回复
那位大哥可以具体一下告诉我啊,,,
发布网站时有

允许更新此预编译站点,,,

使用因定命名和单页程序集
对预编译程序启用强命名

这三个项,,,大家是选那几个,,,才能达到修改之后,,不用重站上传啊
mengxj85 2008-12-28
  • 打赏
  • 举报
回复
似乎不是重新编译上传,只改小地方而已,要不那些大的网站不就死了,编译搞上半天,具体如何实现记得不太清楚了,以前在书上看过
zhiaini 2008-12-28
  • 打赏
  • 举报
回复
学习.
Fibona 2008-12-28
  • 打赏
  • 举报
回复
即使是编译好了的,只要重新上传修改文件对应的dll就OK,不需要全站都重传的
kfps8kfps8 2008-12-28
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 syc958 的回复:]
<%=%>写在这里面就不用再编译了....嘻嘻....就算改写只用上传一下改过的那个页面的dll和改过的那个aspx...页面就好了..........
[/Quote]
是的,修改了那些就传哪些,不是每次都整站重新上传
syc958 2008-12-28
  • 打赏
  • 举报
回复
<%=%>写在这里面就不用再编译了....嘻嘻....就算改写只用上传一下改过的那个页面的dll和改过的那个aspx...页面就好了..........

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧