最近正在对公司的网站进行模式转换,主要原因是2.0的WebSite模式经常造成难以理解的编译错误和系统崩溃;据同事讲他们正在开发的一个基于DotNetNuke的项目也面临同样的问题,而且总是随机出现,找不到原因。主要的一个问题是这样的:
Loadingthisassemblywouldproduceadifferentgrantsetfromotherinstances.
(ExceptionfromHRESULT:0x80131401)
Description:Anunhandledexceptionoccurredduringtheexecutionofthecurrentwebrequest.
Pleasereviewthestacktraceformoreinformationabouttheerrorandwhereitoriginatedinthecode.
<!--[if !supportLineBreakNewLine]-->
<!--[endif]-->
大家也许见过这个错误,问题在于当这个问题发生的时候,你不知道到底是那个文件的拿行代码造成了错误,特别是在一个>10G的网站上。所以我们只能iisreset,并删除asp.net的临时文件。这样的情况持续了大概2个月的时间,后来我们发现只要没有人更新网站上的文件,这个错误是不会出现的。一般它的出现都是在某个文件被更新以后,网站正在自己编译的过程当中。
当vs2005发布的时候,website的开发模式曾经是其中非常重要的一个亮点;但是在实际使用中我们发现,website的模式的确给开发提供了很多方便,比如可以直接修改任何的code-behind和app_code代码,而不需要从新编译。但是如果在一个已经是运行在production server上的应用还采取这样的方式,就有点不妥了。主要问题是,当程序员修改了代码上传以后,网站自身要从新编译,而同时还会有多个外部访问;这非常容易造成整个编译过程的混乱。另外的问题是,程序员只有等到网站自我编译完成以后才能知道自己所修改的代码是否是正确的,这将非常的危险。
基于这些问题,我们决定将网站按照web application的模式从新部署。webApp是asp.net 1.1中的默认开发模式,但是在vs2005的最初版本中是找不到的,你需要安装一下hotfix和plug-in才能使用这个功能。
Install “MS Visual Studio 2005 Hotfixes”
Install “VS2005 Web Application Projects”
http://www.microsoft.com/downloads/details.aspx?FamilyId=8B05EE00-9554-4733-8725-3CA89DD9BFCA&displaylang=en
Install “VS2005 Web Deployment Projects”
http://msdn.microsoft.com/asp.net/reference/infrastructure/wdp/
Figure: 安装完成以后你会发现久违了的web application项目类型
但是对于已有的基于website模式的项目,你可以使用快捷菜单将其转换为webApp,从新编译以后,你会发现bin文件夹也回来了。
我个人认为,使用vs2005的website模式进行开发是一个很好的选择,但是如果想要进行部署,特别是在网站项目非常庞大的情况下,还是要使用web application的模式;起码的一点,这样你自己很清楚网站是否编译通过,很清楚所有需要的文件在哪里;并且也省去了网站动态编译的延迟,性能上也会有一定的优势。
分享到:
相关推荐
《ASP.NET 2.0 入门经典》将逐步引导您使用 ASP.NET 2.0 创建动态的、数据驱动的、复杂的Web站点。在本章结束时,我们将解释一些基本的想法并介绍一个完整的示例站点。然后将学习怎样使用 Visual Web Developer ...
ASP.NET 2.0动态网站开发基础教程(C#) 第01章 ASP.NET2.0基础 Framework Web Form(共32页).ppt ASP.NET 2.0动态网站开发基础教程(C#) 第02章 HTML和脚本语言 VBScript javaScript(共21页).ppt ASP.NET 2.0...
内容代码,使用VB.net和C# 两种解释 <br>第1章ASP.NET2.0概述 1 1.1简史 1 1.2ASP.NET2.0的目标 2 1.2.1开发人员的效率 3 1.2.2管理 5 1.2.3性能和可伸缩性 8 1.3ASP.NET2.0的其他新特性 8 ...
熟悉ASP.NET 1.x的程序员亟需快速掌握ASP.NET 2.0新增的功能和控件,以便立刻使用ASP.NET 2.0来编写程序。 本书通过深入剖析12个使用ASP.NET 2.0开发的项目,全面阐述了ASP.NET 2.0应用程序的架构及ASP.NET 2.0...
在全面介绍ASP.NET各种编程技能的同时重点介绍了ASP.NET 2.0版本中的巨大变化,详细阐述了ASP.NET 2.0中所包含的每个新特性。书中提供了大量的实例,可帮助读者快速掌握如何在.NET Framework下构建功能强大的ASP.NET...
本卷从最易于理解和使用的那部分入手,介绍ASP.NET AJAX框架中能够与传统ASP.NET无缝对接的服务器端部分,包括服务器端ASP.NET AJAX Extensions与ASP.NET AJAX Control Toolkit。这部分内容不需要读者有任何的客户端...
《ASP.NET 2.0 入门经典》将逐步引导您使用 ASP.NET 2.0 创建动态的、数据驱动的、复杂的Web站点。在本章结束时,我们将解释一些基本的想法并介绍一个完整的示例站点。然后将学习怎样使用 Visual Web Developer ...
原装的英文版Asp.net2.0 入门经典C#篇.避免了翻译后的质量下降
ASP.NET 2.0网络开发技术 ASP.NET 2.0类,对象和命名空间,电子书
接下来介绍了.NET中Web页面设计的基础知识和ASP.NET2.0服务器端控件的使用方法;作为ASP.NET数据库开发的准备内容,本书也介绍了些SQL语言的基础知识。此外,还介绍了ASP.NET中的常用对象、数据访问技术、数据源控件...
asp.net 2.0 网站开发全程解析 第2版
ASP.NET2.0 AJAX包括:ASP.NET 2.0 AJAX Extensions和ASP.NET Futures CTP.放心下载可用! 支持vs2005sp1!不要用vs2005的哟!否则web.config中会出现错误的!
ASP.NET 2.0快速入门(3):ASP.NET 2.0的新控件
接下来介绍了.NET中Web页面设计的基础知识和ASP.NET2.0服务器端控件的使用方法;作为ASP.NET数据库开发的准备内容,本书也介绍了些SQL语言的基础知识。此外,还介绍了ASP.NET中的常用对象、数据访问技术、数据源控件...
ASP.NET 2.0快速入门(5):ASP.NET 2.0 缓存技术
本书以全新ASP.NET 2.0内容设计为出发点,循序渐进地以图文步骤及观念讲解新的ASP.NET 2.0技术精要。内容涵盖VS 2005开发工具、SQL Server 2005安装管理策略与ASP.NET 2.0各种新功能,乃至于极度爆红的AJAX与Atlas ...
包括认识ASP.NET 2.0、ASP.NET 2.0网页语法、字符串与日期处理、Page对象、Response和Request对象、Application和Session对象、Server对象、Cookie对象、Cache对象、Global.asax全局程序集文件、标准服务器控件、...
ASP.net 2.0网络编程从入门到精通-修订.rar
Programming Microsoft ASP.NET 2.0 Applications - Advanced Topics
书中内容既包括了ASP.NET 2.0网站开发环境、ASP.NET 2.0基础、SQL Server 2005基础和ADO.NET数据访问等ASP.NET 2.0开发的必备知识,还包括了以微软经典案例构建的中文版的Personal Web Site Starter Kit(PWS)网站的...