Tailspin Travel 是一个旅游预订的应用程序示例,最新版本采用ASP.NET MVC 2技术构建,主要使用 DataAnnotations 验证, 客户端验证和ViewModels, 还展示了许多Visual Studio 2010, .NET Framework 4, 和Windows Server AppFabric的技术,参看ASP.NET MVC 2示例Tailspin Travel。
Tailspin Travel设计的技术比较多,今天我们来看看界面(UI)上的技术, 在UI层上来说主要采用的技术是ASP.NET MVC2和ASP.NET DynamicData框架。从功 能上来分为向普通用户提供的前台页面和管理员使用的后台界面,前台页面主要 实现的是旅游活动日程安排,航班,酒店,租车这几部分采用的ASP.NET MVC 2技 术,管理员用的后台管理页面使用的是ASP.NET DynamicData开发的,这两种技术 在网站里的应用有示范作用,对于管理员使用的后台的访问量不可能很大,网站 的主要流量是普通用户使用的前台页面,组合使用这两个框架,可以加快网站的 开发。
组合这两种技术,就会碰到一些的问题,第一个问题就是ASP.NET 动态数据 (Dynamic Data )默认情况下,动态数据放在web应用的动态数据目录 (DynamicData)里,该目录创建在根目录处。你的应用需要移动的不同的位置。在 Tailspin Travel里面是“admin”目录,动态数据就在这个目录下,然后在 Globa.asax.cs文件里
var metaModel = new MetaModel ();
metaModel.RegisterContext(contextFactory, new ContextConfiguration { ScaffoldAllTables = true });
metaModel.DynamicDataFolderVirtualPath = "~/Admin/DynamicData/";
改变admin/Dynamicdata 下文件的内容的引用到新的路径 ((~/admin/Dynamicdata)
例如:
A、修改List.aspx和ListDetails.aspx 的注册指令的src属性。
B、修改 List.aspx 和母版页的img 的src属性。
C、任何自定义的必须使用新路径的内容。
ASP.NET 4.0有个新特性叫做“自动启动应用程序”,自动启动,先行初始化 web应用,而不必等待外部客户端访问web服务器时才启动的能力。这可以有助于 你给第一个访问者提供一个更快的回复体验,避免撰写定制脚本来“预热(warm up)”服务器和准备好任何数据缓存。它可用于任何类型的ASP.NET应用,包括基 于ASP.NET Web Forms和ASP.NET MVC的应用。不过要求在IIS 7.5(随Windows 7 和Windows Server 2008 R2发布)上运行 ASP.NET 4时使用。这个自动启动特性 提供了一个可控制的方式来启动一个应用工作进程,初始化ASP.NET 应用,然后 接受HTTP请求。具体参看Scott Guthrie 的文章 VS 2010 和 .NET 4.0 系列之《 自动启动ASP.NET应用》篇,Tailspin Travel有个类 Microsoft.Samples.Tailspin.Web.Infrastructure.ApplicationPreloader,就 是用这个特性预先加载应用程序的缓存。