利用.NET简化Web网站的维护工作

ZDNet软件频道 时间:2006-04-12 作者:Tony Patton |  我要评论(7)
本文关键词:dotnettrend webtrend xml TonyPatton
.NET框架提供了各种方式来使用资源文件。其中包括全面支持资源的创建和将资源本地化,并为包装和部署本地化的资源提供了一个简单的模型。

资源文件内含静态的、不可执行的数据,它可以用应用程序来部署。资源文件的一个常见用途是(显示)错误信息和静态的用户界面文本。资源文件让你能够很容易地更改数据而不需要改动应用程序的代码。

.NET框架提供了各种方式来使用资源文件。其中包括全面支持资源的创建和将资源本地化,并为包装和部署本地化的资源提供了一个简单的模型。(本地化意味着为特定的文化或者语言开发,因此你可以通过资源文件以多种语言来使用应用程序。)

更多关于资源文件的信息

资源可以是以不同格式保存的数据,包括字符串、图片,以及保持对象。要注意的是,如果要把保持对象写入资源文件,那么对象必须是可序列化的。此外,微软建议不要使用资源文件来保存密码或者其他敏感数据。

资源文件使用.resx文件扩展名。在利用Visual Studio .NET(VS.NET)开发ASP.NET应用程序的时候,你会注意到每个用到的Web窗体都有一个资源文件(如果没有出现的话就选择“显示所有文件”图标)。如果需要更多的资源文件,你可以随时添加,即使没有使用Visual Studio也可以。

就和绝大多数.NET文件一样,资源文件都是基于文本的,很容易用你喜欢的文本编辑器来编辑。但是,资源文件都是xml格式的,所以要求这些文件都符合xml的规范。资源文件及其xml架构用VS.NET来创建。下面列表A里是一个与ASP.NET Web窗体相关联的简单资源文件:

<?xml version="1.0" encoding="utf-8" ?>
<root>
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/xmlSchema"
xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choicemaxOccurs="unbounded">
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string"
minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string"
minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string"
minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="ResMimeType">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="Version">
<value>1.0.0.0</value>
</resheader>
<resheader name="Reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms,
Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="Writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms,
Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="Greeting" type="">
<value>Thanks for coming.</value>
<comment>Comment about data value.</comment>
</data>
</root>

快速浏览一下这段xml代码就会发现XSD几乎占据了所有的内容。数据元素内部的属性和元素都在XSD里被定义。其中包括下列数据值:

  • Name用来在资源文件里检索特定数据的值。它类似于变量名。
  • Type数据保存的类型。
  • Value分配给变量的值。快速浏览一下这段XSD就会发现这是一个选项(minOccurs等于0),它只能有一个值(maxOccurs等于1)。
  • Comment你希望加在数据里的任何其他信息。

值元素可以包含简单的文本(就像我们例子里的那样),也可以包含更复杂的数据,例如序列化的对象或者位图。在本文里,我们在资源文件里有数据,但是如何在应用程序里使用它们呢?现在我们就把注意力转到用来访问资源数据的.NET类上来。

dotnettrend

webtrend

xml

TonyPatton


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134