这篇博客主要是针对asp.net mvc项目的一些常用的东东做一个讲解,他们分别是监控诊断、本地化和缓存。虽然前两者跟asp.net mvc看上去好像是没什么关联。 但其实如果真正需要做asp.net mvc项目的话,那就有关联了。这篇博客对于这三个概念会分别介绍,目的是为了引导自己在开发的时候的一些design。
v1.监控诊断 1.1.概 念:
监控诊断是通过软件或者监控服务提供商对APP进行监控以及数据的获取从而达到APP的排错和数据的分析。
1.2.背 景:
随着互联网的迅速成长,个人网站、企业网站、社区网站……越来越多,同时网站竞争也越来越强,从而衍生出来的对网站的监控,网站监控是站长、企业、社区……通过软件或者网站监控服务提供商对网站进行监控以及数据的获取从而达到网站的排错和数据的分析。一个网站部署起来之后,通常会遇到各种各样的出错或者宕机的可能性,所以说监控和诊断一个非常重要的工作。
1.3.常见监控:
关于对asp.net mvc web site的监控有很多办法或者工具,有官方的 healthMonitoring这样一个绿色的监控工具、有第三方的一些监控工具、有一些用自己写日志的方式监控的、有向站长发送警报邮件。还有一些对performance、性能、内存、CPU和磁盘读写等等的监控,还有一些像Munin这种开源的监控工具。
总之呢关于监控的方式有很多,当然现在一般的项目都是部在云上,可能监控都不需要自己做太多,我们这里呢就介绍一个最常见的windows自带的绿色监控。
1.4.实施监控:
新建一个MVC工程,就在默认的打开的Index页面手写一个错误,强制抛出,然后运行。对应的代码和效果如下:
很显然,这里肯定会报错。那么现在让我们打开Windows的event viewer(中文系统的话就win+q搜索"事件查看器")。
event viewer是根据系统的web.config设置的。这个web.config是针对本机的一个配置。
v2.本地化 2.1.概 念:
本地化是指企业在国际化过程中,为了提高市场竞争力,同时降低成本,将产品的生产、销售等环节按特定国家/地区或语言市场的需要进行组织,使之符合特定区域市场的组织变革过程。
2.2.背 景:
在经济全球化的时代,大型企业起初在本国生产产品,并将产品在本国销售,随着生产规模增大和产品声誉远播,产品开始在国际市场上流通。为进一步扩大国际市场的份额,将部分原料采购和加工过程移往产品需求地由当地产业工人完成的组织形式,称之为企业本地化。企业本地化的高级形式是融入当地社会,与当地企业一起促进目的地社会的进步和发展。
2.3.常见本地化:
我们先来举一个非常简单的例子,这也是本地化里面一个最简单的应用。我们来看看本地化简单应用的具体步骤。
2.3.1.页面代码:
@{ ViewBag.Title = "Home Page"; var prices = 10.0m; var date = DateTime.Now; } @prices.ToString("c")@date.ToShortDateString()
上面代码非常常见,就是在页面中输出货币信息以及显示短日期格式。我们需要做的就是不同国家地区的语言或者是货币或者是时间的显示方式都不同,我们需要让这段代码根据不同地区显示对应的格式。
2.3.2.设置Web.config:
culture:为处理传入的 Web 请求指定默认的区域性。
uiCulture:为处理依赖于区域设置的资源搜索指定默认的区域性。 若要查看有效的区域性字符串。
这两个属性我们都设置为auto
2.3.3.浏览效果:
在浏览器的Internet选项的语言设置中我们可以看到当前默认设置的语言是英文,所以得到的货币和时间格式分别是:$10.00、11/1/2015
在上图中我们讲默认的语言设置成中文,所以得到的货币和时间格式分别是:¥10.00、2015/11/1。 MADE IN CHINA
利用资源文件做本地化也是一种非常常见的手段,而且微软对Resource.resx为开发者也做了很好的集成,使用起来非常方便。
2.4.1.创建资源文件:
我们先来创建两个资源文件,分别是一个默认的资源文件Resource.resx和中文的资源文件Resource.zh.resx,这里注意将访问修饰符设置成public的。两个资源文件结构如下:
2.4.2.页面代码:
@Resource.Hello @Resource.Name@prices.ToString("c")@date.ToShortDateString()
2.4.3.浏览效果:
当前浏览器默认的语言是英文的,所以得到的结果是:Hello CNBlogs
早浏览器的Internet选项的语言设置中我们可以设置当前的语言是中文,所以得到的结果是:你好 博客园