最近正在对公司的网站进行模式转换,主要原因是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是微软开发的一个用于构建Web应用程序的框架,它建立在.NET Framework之上,为开发者提供了更高效、更灵活的Web开发环境。本书《ASP.NET 2.0入门经典:C#编程篇》显然是针对初学者设计的,旨在帮助读者...
10. **最佳实践和设计模式**:教程可能还会讨论面向对象编程原则,如SOLID原则,以及如何在ASP.NET 2.0项目中应用设计模式,如MVC模式。 通过这个案例教程,学习者不仅会掌握ASP.NET 2.0的基本概念和技术,还能通过...
1. **ASP.NET 2.0概述**:ASP.NET是.NET Framework的一部分,它提供了构建动态网站、Web应用程序和Web服务的工具和技术。ASP.NET 2.0在1.0的基础上进行了许多改进,包括更高效的页面生命周期管理、内置的状态管理...
ASP.NET 2.0是微软公司推出的一种用于构建Web应用程序的框架,它是.NET Framework的一部分,为开发者提供了丰富的功能和工具,使得创建动态、交互式的Web站点变得更加容易。本教程将深入探讨ASP.NET 2.0的核心特性,...
ASP.NET 2.0是微软开发的一个用于构建Web应用程序的框架,它建立在.NET Framework的基础之上,为开发者提供了丰富的功能和高效的语言支持。本资源"ASP.NET 2.0网络编程从入门到精通-修订"显然是一个教程文档,旨在...
此"天轰穿ASP.NET2.0视频教程"针对初学者和进阶开发者,通过详细的教学指导,帮助用户掌握ASP.NET 2.0的核心概念和技术。 1. **ASP.NET 2.0架构** ASP.NET 2.0基于.NET Framework 2.0,引入了统一的页面生命周期...
《Wrox Asp.Net 2.0 Instant Results》是一本针对ASP.NET 2.0技术的经典案例教程,旨在帮助读者快速掌握并应用ASP.NET 2.0开发动态网站的技能。这本书由经验丰富的IT专家撰写,以实践为导向,通过丰富的实例来解释和...
《ASP.NET 2.0 入门经典》将逐步引导您使用 ASP.NET 2.0 创建动态的、数据驱动的、复杂的Web站点。在本章结束时,我们将解释一些基本的想法并介绍一个完整的示例站点。然后将学习怎样使用 Visual Web Developer ...
《ASP.NET 2.0 宝典》是一本深度探讨ASP.NET 2.0开发技术的专业书籍,其随书光盘包含了一系列的示例代码和教程,帮助读者深入理解和掌握这个强大的Web应用程序开发框架。虽然上传的文件只是部分内容,但它们涵盖了多...
ASP.NET 2.0提供了多种状态管理机制,如View State、Control State、Session State和Application State,帮助开发者在Web的无状态环境中保持用户状态。 8. **配置和部署** 学习如何配置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.NET2.0实用教程(C#版)书中例子”PPT很可能会涵盖以上这些主题,并通过实例演示如何在实践中应用这些技术。PPT中的例子可能包括创建简单的Web表单、使用控件进行数据绑定、实现用户身份验证以及利用AJAX...
ASP.NET 2.0是微软推出的用于构建动态网站、Web应用程序和Web服务的框架,它是在ASP.NET 1.x的基础上进行的一次重大升级,引入了许多新特性,提升了开发效率和性能。本教程将深入探讨ASP.NET 2.0的核心概念和技术,...
熟悉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 2.0的MVC模式,尽管它主要在ASP.NET MVC框架中得到广泛应用,但了解其原理对理解ASP.NET 2.0的Web Forms模式同样有益。 总之,《ASP.NET 2.0网络编程自学手册》将带领...
ASP.NET 2.0是微软推出的Web应用程序开发框架,它基于.NET Framework,为开发者提供了构建动态网站、Web应用和Web服务的强大工具。本资源“ASP.NET 2.0入门经典(第4版)源码”提供了该书配套的源代码,帮助初学者深入...
在本项目中,“asp.net2.0 调用websevice 实现天气预报”,我们将探讨如何利用ASP.NET 2.0集成Web服务(Web Service)来获取并展示实时天气信息,从而实现一个无刷新的天气预报应用。 首先,Web服务是一种基于XML的...
在全面介绍ASP.NET各种编程技能的同时重点介绍了ASP.NET 2.0版本中的巨大变化,详细阐述了ASP.NET 2.0中所包含的每个新特性。书中提供了大量的实例,可帮助读者快速掌握如何在.NET Framework下构建功能强大的ASP.NET...
ASP.NET 2.0 是微软推出的Web应用程序框架的第二个主要版本,它在ASP.NET 1.1的基础上进行了许多改进和增强。在这个版本中,开发者能够更高效、更灵活地构建动态网页应用。以下是对ASP.NET 2.0访问数据库、编译及...