﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-&lt;font color="red"&gt;JRen&lt;/font&gt;&lt;font color="lightgreen"&gt;大鹏一曰同风起，扶摇直上九万里&lt;/font&gt;-随笔分类-Dot Net</title><link>http://www.blogjava.net/liaojiyong/category/18021.html</link><description /><language>zh-cn</language><lastBuildDate>Sun, 17 Feb 2008 06:53:48 GMT</lastBuildDate><pubDate>Sun, 17 Feb 2008 06:53:48 GMT</pubDate><ttl>60</ttl><item><title>MultiView控件</title><link>http://www.blogjava.net/liaojiyong/archive/2008/02/17/180229.html</link><dc:creator>liaojiyong</dc:creator><author>liaojiyong</author><pubDate>Sun, 17 Feb 2008 01:37:00 GMT</pubDate><guid>http://www.blogjava.net/liaojiyong/archive/2008/02/17/180229.html</guid><wfw:comment>http://www.blogjava.net/liaojiyong/comments/180229.html</wfw:comment><comments>http://www.blogjava.net/liaojiyong/archive/2008/02/17/180229.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/liaojiyong/comments/commentRss/180229.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liaojiyong/services/trackbacks/180229.html</trackback:ping><description><![CDATA[<div class="tit">MultiView控件(1)</div>
<div class="date">2007年08月07日 星期二 21:05</div>
<table style="table-layout: fixed">
    <tbody>
        <tr>
            <td>
            <div class="cnt">
            <p>MultiView 控件是一组 View 控件的容器。使用它可定义一组 View 控件，其中每个 View 控件都包含子控件。然后，应用程序可根据用户标识、用户首选项以及在查询字符串参数中传递的信息等条件，向客户端呈现特定的 View 控件。也可以使用 MultiView 控件创建向导。这种情况下，MultiView 控件包含的每个 View 控件都表示向导中的不同步骤或页。此控件还可用来开发移动设备的多屏幕应用程序。此控件提供的功能与 .NET Framework 1.1 版的 ASP.NET <MSHELP:LINK keywords="T:System.Web.UI.MobileControls.Form">Form</MSHELP:LINK> 移动控件相同。</p>
            <p>在 MultiView 控件中，一次只能将一个 View 控件定义为活动视图。如果某个 View 控件定义为活动视图，它所包含的子控件则会呈现到客户端。可以使用 <a href="ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.NETDEVFX.v20.chs/cpref16/html/P_System_Web_UI_WebControls_MultiView_ActiveViewIndex.htm">ActiveViewIndex</a> 属性或 <a href="ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.NETDEVFX.v20.chs/cpref16/html/M_System_Web_UI_WebControls_MultiView_SetActiveView_1_495c4fa4.htm">SetActiveView</a> 方法定义活动视图。如果 ActiveViewIndex 属性为空，则 MultiView 控件不向客户端呈现任何内容。如果活动视图设置为 MultiView 控件中不存在的 View，则会在运行时引发 <MSHELP:LINK keywords="T:System.ArgumentOutOfRangeException">ArgumentOutOfRangeException</MSHELP:LINK>。<br />
            <br />
            如图：<br />
            </p>
            <div forimg="1">
            <div forimg="1">
            <div forimg="1"><img class="blogimg" src="http://hiphotos.baidu.com/bmlvy2006/pic/item/1edf0bd546fc08cc51da4ba2.jpg" border="0" small="0"  alt="" /><br />
            <font color="#339966">html代码：<br />
            </font>&lt;asp:MultiView ID="MultiView1" runat="server" ActiveViewIndex="0"&gt;<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;asp:View ID="View1" runat="server"&gt;View 1&lt;br /&gt;<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;asp:Button ID="Button1" runat="server" CommandArgument="View2" CommandName="SwitchViewByID" Text="Go to View2" /&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;asp:Button ID="Button4" runat="server" CommandName="NextView" Text="Next View(2)" /&gt;<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/asp:View&gt;<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;asp:View ID="View2" runat="server"&gt;View 2&lt;br /&gt;<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;asp:Button ID="Button2" runat="server" CommandArgument="View3" CommandName="SwitchViewByID" Text="Go to View 3" /&gt; <br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;asp:Button ID="Button5" runat="server" CommandName="NextView" Text="Next View(3)" /&gt;<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/asp:View&gt;<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;asp:View ID="View3" runat="server"&gt;View 3&lt;br /&gt;<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;asp:Button ID="Button3" runat="server" CommandArgument="View1" CommandName="SwitchViewByID" Text="Go to View 1" /&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;asp:Button ID="Button6" runat="server" CommandArgument="View1" CommandName="SwitchViewByID" Text="Next View(1)" /&gt; <br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/asp:View&gt;<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/asp:MultiView&gt;<br />
            <br />
            <font color="#339966">源代码：</font><br />
            if (!IsPostBack)<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (Request.QueryString["id"] != null) { MultiView1.ActiveViewIndex = Convert.ToInt32(Request.QueryString["id"]); }<br />
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
            <br />
            在你切换视图之间一般用LinkButton、Button、imageButton，因为只有它们才有CommandName,CommandArgument属性。<br />
            CommandName属性值：<font color="#339966">PreviousView、NextView、SwitchViewByID 或 SwitchViewByIndex<br />
            </font>CommandArgument属性值：与关联的 CommandName 一起被传递到 Command 事件的可选参数。<br />
            <br />
            </div>
            </div>
            </div>
            </div>
            </td>
        </tr>
    </tbody>
</table>
<img src ="http://www.blogjava.net/liaojiyong/aggbug/180229.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liaojiyong/" target="_blank">liaojiyong</a> 2008-02-17 09:37 <a href="http://www.blogjava.net/liaojiyong/archive/2008/02/17/180229.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ASP.NET2.0中将文件上传到数据库</title><link>http://www.blogjava.net/liaojiyong/archive/2008/02/05/179324.html</link><dc:creator>liaojiyong</dc:creator><author>liaojiyong</author><pubDate>Tue, 05 Feb 2008 00:54:00 GMT</pubDate><guid>http://www.blogjava.net/liaojiyong/archive/2008/02/05/179324.html</guid><wfw:comment>http://www.blogjava.net/liaojiyong/comments/179324.html</wfw:comment><comments>http://www.blogjava.net/liaojiyong/archive/2008/02/05/179324.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/liaojiyong/comments/commentRss/179324.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liaojiyong/services/trackbacks/179324.html</trackback:ping><description><![CDATA[<p>此问题经常被人问，本文列出将文字和图片上传到数据库的方法。包括Access数据库和SQL Server数据库。</p>
<p><strong>Access数据库代码</strong></p>
<p><xmp><%@ Page Language="C#" EnableViewState="true" %>
<%@ Import Namespace="System.Data.OleDb" %>
<!doctype html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

  protected void Button1_Click( object sender, EventArgs e )
  {
    System.IO.Stream fileDataStream = FileUpload1.PostedFile.InputStream;

    if (fileDataStream.Length < 1)
    {
      Msg.Text = "请选择文件。";
      return;
    }

    //得到文件大小
    int fileLength = FileUpload1.PostedFile.ContentLength;

    //创建数组
    byte[] fileData = new byte[fileLength];
    //把文件流填充到数组
    fileDataStream.Read(fileData, 0, fileLength);
    //得到文件类型
    string fileType = FileUpload1.PostedFile.ContentType;

    //构建数据库连接，SQL语句，创建参数
    string strCnn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("Image2Access.mdb");
    OleDbConnection myConnection = new OleDbConnection(strCnn);
    OleDbCommand command = new OleDbCommand("INSERT INTO Person (PersonName,PersonEmail,PersonSex,PersonImageType,PersonImage)" +
    "VALUES (@PersonName,@PersonEmail,@PersonSex,@PersonImageType,@PersonImage)", myConnection);

    command.Parameters.AddWithValue("@PersonName",TextBox1.Text);
    command.Parameters.AddWithValue("@PersonEmail", "mengxianhui@dotnet.aspx.cc");
    command.Parameters.AddWithValue("@paramPersonSex", "男");
    command.Parameters.AddWithValue("@PersonImageType", fileType);
    command.Parameters.AddWithValue("@PersonImage", fileData);


    //打开连接，执行查询
    myConnection.Open();
    command.ExecuteNonQuery();
    myConnection.Close();
    Response.Redirect(Request.RawUrl);
  }


  protected void Page_Load( object sender, EventArgs e )
  {

    if (!Page.IsPostBack)
    {
      BindGrid();
    }
  }

  private void BindGrid( )
  {
    string strCnn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
    + Server.MapPath("Image2Access.mdb");
    OleDbConnection myConnection = new OleDbConnection(strCnn);
    OleDbCommand myCommand = new OleDbCommand("SELECT * FROM Person", myConnection);

    try
    {
      myConnection.Open();
      GridView1.DataSource = myCommand.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
      GridView1.DataBind();
    }
    catch (OleDbException SQLexc)
    {
      Response.Write("提取数据时出现错误：" + SQLexc.ToString());
    }
  }
  protected string FormatURL( object strArgument )
  {
    return "ReadImage.aspx?id=" + strArgument.ToString();
  }  

</script>
<html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>上传文件到数据库</title>
    </head>
    <body>
        <form id="MengXianhui" runat="server">
            <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
            <columns>
            <asp:TemplateField>
            <itemtemplate>
            <%#Eval("PersonName") %>
            </itemtemplate>
            </asp:TemplateField>
            <asp:TemplateField>
            <itemtemplate>
            <%#Eval("PersonEmail") %>
            </itemtemplate>
            </asp:TemplateField>
            <asp:TemplateField>
            <itemtemplate>
            <%#Eval("PersonSex") %>
            </itemtemplate>
            </asp:TemplateField>
            <asp:TemplateField>
            <itemtemplate>
            <img src="<%#FormatURL(Eval("PersonID")) %  alt="" />" /></itemtemplate>
            </asp:TemplateField>
            </columns>
            </asp:GridView>
            <br />
            <br />
            姓名：<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
            <br />
            照片：<asp:FileUpload ID="FileUpload1" runat="server" />
            <asp:Button ID="btnUpload" runat="server" Text="上传" OnClick="Button1_Click"></asp:Button>
            <p>
            <asp:Label ID="Msg" runat="server" ForeColor="Red"></asp:Label></p>
        </form>
    </body>
</html>
</xmp>
<p>&nbsp;</p>
<p><strong>SQL Server数据库代码</strong></p>
<p><xmp><%@ Page Language="C#" EnableViewState="true" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<!doctype html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
  string strCnn = "Persist Security Info=False;User ID=sa;Password=;Initial Catalog=Book;Server=(local);";
  protected void Button1_Click( object sender, EventArgs e )
  {
    System.IO.Stream fileDataStream = FileUpload1.PostedFile.InputStream;

    if (fileDataStream.Length < 1)
    {
      Msg.Text = "请选择文件。";
      return;
    }

    //得到文件大小
    int fileLength = FileUpload1.PostedFile.ContentLength;

    //创建数组
    byte[] fileData = new byte[fileLength];
    //把文件流填充到数组
    fileDataStream.Read(fileData, 0, fileLength);
    //得到文件类型
    string fileType = FileUpload1.PostedFile.ContentType;

    //构建数据库连接，SQL语句，创建参数

    SqlConnection myConnection = new SqlConnection(strCnn);
    SqlCommand command = new SqlCommand("INSERT INTO UserPhoto (UserName,ContentType,Photo)" +
    "VALUES (@UserName,@ContentType,@Photo)", myConnection);

    command.Parameters.AddWithValue("@UserName", TextBox1.Text);
    command.Parameters.AddWithValue("@ContentType", fileType);
    command.Parameters.AddWithValue("@Photo", fileData);

    //打开连接，执行查询
    myConnection.Open();
    command.ExecuteNonQuery();
    myConnection.Close();
    Response.Redirect(Request.RawUrl);
  }


  protected void Page_Load( object sender, EventArgs e )
  {

    if (!Page.IsPostBack)
    {
      BindGrid();
    }
  }

  private void BindGrid( )
  {
    SqlConnection myConnection = new SqlConnection(strCnn);
    SqlCommand myCommand = new SqlCommand("SELECT * FROM UserPhoto Order By id DESC", myConnection);

    try
    {
      myConnection.Open();
      GridView1.DataSource = myCommand.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
      GridView1.DataBind();
    }
    catch (Exception SQLexc)
    {
      Response.Write("提取数据时出现错误：" + SQLexc.ToString());
    }
  }
  protected string FormatURL( object strArgument )
  {
    return "ReadImage.aspx?id=" + strArgument.ToString();
  }  

</script>
<html xmlns="http://www.w3.org/1999/xhtml">
    <head id="Head1" runat="server">
        <title>上传文件到数据库</title>
    </head>
    <body>
        <form id="MengXianhui" runat="server">
            <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
            <columns>
            <asp:TemplateField>
            <itemtemplate>
            <%#Eval("UserName") %>
            </itemtemplate>
            </asp:TemplateField>
            <asp:TemplateField>
            <itemtemplate>
            <img src="<%#FormatURL(Eval("id")) %  alt="" />" /></itemtemplate>
            </asp:TemplateField>
            </columns>
            </asp:GridView>
            <br />
            <br />
            姓名：<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
            <br />
            照片：<asp:FileUpload ID="FileUpload1" runat="server" />
            <asp:Button ID="btnUpload" runat="server" Text="上传" OnClick="Button1_Click"></asp:Button>
            <p>
            <asp:Label ID="Msg" runat="server" ForeColor="Red"></asp:Label></p>
        </form>
    </body>
</html>
</xmp>
<p>&nbsp;</p>
<p><strong>显示图片</strong></p>
<p><xmp><%@ Page Language="C#" %>
<%@ Import Namespace="System.Data.OleDb" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<script runat="server">

  protected void Page_Load( object sender, EventArgs e )
  {
    ////构建数据库连接，SQL语句，创建参数
    //ACCESS数据库使用本注释部分
    //string strCnn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("Image2Access.mdb");
    //OleDbConnection myConnection = new OleDbConnection(strCnn);
    //OleDbCommand command = new OleDbCommand("select * from Person Where PersonID =" + Request.QueryString["id"], myConnection);
    //myConnection.Open();
    //OleDbDataReader dr = command.ExecuteReader();
    //if (dr.Read())
    //{
    //  Response.Clear();
    //  Response.AddHeader("Content-Type", dr["PersonImageType"].ToString());
    //  Response.BinaryWrite((byte[])dr["PersonImage"]);
    //}
    //dr.Close();
    //myConnection.Dispose();

    //构建数据库连接，SQL语句，创建参数
    string strCnn = "Persist Security Info=False;User ID=sa;Password=;Initial Catalog=Book;Server=(local);";
    SqlConnection myConnection = new SqlConnection(strCnn);
    SqlCommand command = new SqlCommand("select * from UserPhoto Where id =" + Request.QueryString["id"], myConnection);
    myConnection.Open();
    SqlDataReader dr = command.ExecuteReader();
    if (dr.Read())
    {
      Response.Clear();
      Response.AddHeader("Content-Type", dr["ContentType"].ToString());
      Response.BinaryWrite((byte[])dr["Photo"]);
    }
    dr.Close();
    myConnection.Dispose();
  }
</script>
</xmp>
<p>&nbsp;</p>
<p><strong>创建SQL数据表语句</strong></p>
<p><xmp>CREATE TABLE [UserPhoto] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
[UserName] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[ContentType] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[Photo] [image] NOT NULL ,
CONSTRAINT [PK_UserPhoto] PRIMARY KEY  CLUSTERED
(
[id]
)  ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
</xmp>
<img src ="http://www.blogjava.net/liaojiyong/aggbug/179324.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liaojiyong/" target="_blank">liaojiyong</a> 2008-02-05 08:54 <a href="http://www.blogjava.net/liaojiyong/archive/2008/02/05/179324.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>什么是.net</title><link>http://www.blogjava.net/liaojiyong/archive/2006/12/04/85413.html</link><dc:creator>liaojiyong</dc:creator><author>liaojiyong</author><pubDate>Mon, 04 Dec 2006 09:23:00 GMT</pubDate><guid>http://www.blogjava.net/liaojiyong/archive/2006/12/04/85413.html</guid><wfw:comment>http://www.blogjava.net/liaojiyong/comments/85413.html</wfw:comment><comments>http://www.blogjava.net/liaojiyong/archive/2006/12/04/85413.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/liaojiyong/comments/commentRss/85413.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liaojiyong/services/trackbacks/85413.html</trackback:ping><description><![CDATA[
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">自从比尔·盖茨在</span>2000<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">年提出</span>.NET<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">战略，五六年过去了，人们对到底什么是</span>.NET<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">仍然不是很清楚。这篇文章的目的就是希望能够阐明</span>.NET<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的内在含意，</span>.NET<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的缘由以及</span>.NET<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">技术的应用场景。</span></p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?>
				<o:p> </o:p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">大家对</span>.NET<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">概念上的迷惑，部分的原因是由于微软自己不十分清晰的市场策略造成的。比如在</span>2000<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">－</span>2002<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">年间，许多微软的产品在发布新版本的时候都在版本上加上了</span>.NET<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">后缀，尽管它们跟</span>.NET<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">技术没有太多关系。现在微软已经意识到这个名称的误用，开始着手把</span>.NET<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">后缀从产品名称中去除。</span>2003<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">年发布的产品中，惟一带有</span>.NET<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的产品是</span>Visual Studio.NET 2003<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">－微软的集成开发工具。事实上，</span>Visual Studio.NET 2003<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的下一个版本（代号为</span>Whidbey<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，将在今年年底发布），它的名称将回归到简单的</span>Visual Studio 2005<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。</span></p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<o:p> </o:p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">.NET<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">现在可以看成微软的一个品牌。微软有两个非常成功的品牌，那就是</span>Windows<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</span>Office<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。</span>.NET<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">会成为微软的另一个品牌。它不仅仅是一组技术，产品，或服务（微软的服务包括</span>MSN, Passport<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</span> MSDN<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">订阅，等等）。一个品牌具有一些特征。比如，</span>Rolex<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是一个手表品牌，它代表了高质量，时尚，昂贵，成功，等等。那么</span>.NET<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">代表了什么呢？</span></p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<o:p> </o:p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">.NET<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">代表着联通性，敏捷性，和成功。让我分别对这几点来解释一下。</span></p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<o:p> </o:p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">1<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。联通性。</span>.NET<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的远景是让所有的事物都连接起来。不管是人，信息，系统，还是设备；不管是一个企业的内部员工，外部合作伙伴，还是客户；不管是</span>Unix, Windows, <span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">还是</span> Mainframe<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">；不管是</span>SAP, Siebel, <span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">还是</span> Oracle ERP<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">套件；不管是桌面</span>PC<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，手机，还是手表。在一个异构的</span>IT<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">环境里，</span>.NET<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">技术能够将不同的系统连接起来。</span></p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<o:p> </o:p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">2<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。</span><span lang="ZH-CN"></span><span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">敏捷性。商务敏捷性和</span>IT<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">敏捷性。面向服务的商务体系结构跟面向服务的</span>IT<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">体系结构很好的配合在一起。</span>SOA (Service-Oriented Architecture)<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">能够给一个企业带来</span>IT<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">敏捷性和商务敏捷性。</span>.NET<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">技术是基于</span>SOA<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">思想和原则设计的，并且采用了像</span>XML<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</span>Web Services<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这些支持应用整合和系统互操作的开放标准。这样，采用</span>.NET<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">技术开发应用，能够带来灵活性和敏捷性。</span>.NET<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是一个非常合适的技术平台来创建支持</span>SOA<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">体系结构的</span>IT<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">系统并通过这些系统的开发和部署运行达到</span>IT<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和商务的敏捷性。</span></p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<o:p> </o:p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">3<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。成功。</span>GE<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的前主席</span>Jack Welch<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">曾经说过一句话，“在</span>GE<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，我们只有两个竞争优势：第一，比竞争对手更快的洞悉更多有关客户的信息的能力；第二，比竞争对手更快的将这种理解转化为行动的能力。”最终，</span>IT<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">都是为业务服务的。敏捷带来商务上的成功。</span>.NET<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">可以帮您创建一个敏捷的系统，既容易去洞悉市场，作出战略上的调整，也容易将新的计划付之实行。</span></p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<o:p> </o:p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这些听上去像是在做市场宣传。但事实确是如此。其它的</span>IT<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">厂商也在谈论这些东西：</span>XML, Web Services, SOA, <span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">敏捷性，联通性，等等。他们可能会使用不同名词，但这些名词后面的含意应该都是非常相似的。</span></p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<o:p> </o:p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">所以你可以发现一个有趣的现象，所有</span>IT<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">厂商都支持同样一组开放标准，即</span>XML<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</span>Web Services<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，我们都认可企业应该做</span>SOA<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，我们都认为敏捷性非常重要。那这些</span>IT<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">厂商之间有什么不同呢？不同之处就在各自的技术实现上。</span>XML, Web Services, <span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</span>SOA<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">只是技术规范和技术理念，需要采用一种技术平台才在应用系统中实现这些技术规范和技术理念。各个</span>IT<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">厂商的技术平台有很大的不同。</span></p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<o:p> </o:p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">.NET<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">就是微软的用来实现</span>XML<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</span>Web Services, SOA<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和敏捷性的技术。</span></p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<o:p> </o:p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对技术人员，想真正了解什么是</span>.NET<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，必须先了解</span>.NET<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">技术出现的原因和它想解决的问题，必须先了解为什么他们需要</span>XML, Web Services <span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</span> SOA<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。</span></p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<o:p> </o:p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">技术人员一般将微软看成一个平台厂商。微软通过技术平台，而技术人员在这个技术平台之上创建应用系统。从这个角度，</span>.NET<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">也可以如下来定义：</span></p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<o:p> </o:p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">.NET<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是微软的新一代技术平台，为敏捷商务构建互联互通的应用系统，这些系统是基于标准的，联通的，适应变化的，稳定的和高性能的。</span></p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<o:p> </o:p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">从技术的角度，一个</span>.NET<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">应用是一个运行于</span>.NET Framework<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">之上的应用程序。（更精确的说，一个</span>.NET<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">应用是一个使用</span>.NET Framework<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">类库来编写，并运行于公共语言运行时</span> Common Language Runtime<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">之上的应用程序。）如果一个应用程序跟</span>.NET Framework<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">无关，它就不能叫做</span>.NET<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">程序。比如，仅仅使用了</span>XML<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">并不就是</span>.NET<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">应用，仅仅使用</span>SOAP SDK<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">调用一个</span>Web Service<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">也不是</span>.NET<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">应用。</span></p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<o:p> </o:p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">微软</span>.NET<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">技术包括哪些东西？核心的东西当然是</span>.NET Framework<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。</span> Visual Studio.NET 2002<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</span>Visual Studio.NET 2003<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是创建</span>.NET<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">应用的集成开发环境。</span>Visual Studio For Office (VSTO)<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">可以用来创建基于</span>Word<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</span>Excel<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">等文档的</span>.NET<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">解决方案。</span>Web Service Extensions (WSE)<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是一组支持高级</span>Web Services <span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">标准的</span>.NET<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">类，这些标准包括</span>WS-Security, WS-Policy, WS-ReliableMessaging <span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</span> WS-Attachments<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，等等。</span><?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /?><st1:place w:st="on"><st1:city w:st="on">Enterprise</st1:city></st1:place> Library<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是一组支持企业级</span>.NET<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">应用程序开发的可重用的应用程序模块，它提供了应用程序开发中需要解决的共性的问题，比如配置管理，数据访问，异常处理，日志管理，等等。</span></p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<o:p> </o:p>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">.NET<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">仅仅是跟</span>Web Services<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">相关吗？当然不是。它是微软的新一代技术平台，你可以在这个平台上面创建任何类型的应用系统：传统的</span>Windows<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">桌面应用,</span>Web<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">应用,</span>Office <span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">应用，移动应用，智能设备应用，等等。在一个</span>Pocket PC (Phone Edition)<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">上面，你可以使用</span>.NET Compact Framework <span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">（</span>.NET Framework<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在设备上的一个简化版）创建一个</span>.NET<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">客户端应用程序。或者你可以开发一个</span>.NET<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">移动</span>Web<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">应用，部署在一个</span>IIS Web <span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">服务器上面，然后用户就可以使用</span>Pocket PC (Phone Edition)<span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">上面的</span>Internet Explorer <span lang="ZH-CN" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">浏览器去访问这个网站，这个网站的页面都是专门为这种设备的小屏幕设计的。<br /><br /><font color="#ff0000">更简单的说:</font><br />.NET 分成三个部分。一个在服务器端，就是像 Windows DataCenter 这样的操作系统，这里 Microsoft 处于主机市场竞争者的位置。在中间，是 XML，以及用来从数据库或数据表中提供信息，以使开发者能通过 XML 调用他们的简单对象访问协议 (SOAP)。在客户端，是支持 XML 语法分析、从而根据赋予它的标记来显示信息的操作系统。 <br />详细的说: <br />.NET是一个概念，是一种构想，或者是微软的一个梦想 <br /><br />以下是微软官方解释: <br /><br />“.NET 是 Microsoft 的用以创建 XML Web 服务（下一代软件）平台，该平台将信息、设备和人以一种统一的、个性化的方式联系起来。” <br /><br />通俗点说它是一个开发平台,全新的网络开发平台 <br />是一个全面的产品家族，它建立在行业标准和 Internet 标准之上，提供开发（工具）、管理（服务器）、使用（构造块服务和智能客户端）以及 XML Web 服务体验（丰富的用户体验） <br /><br />明白了吗?不是单一的编程语言,有ASP.NET JAVA.NET <br />......好多,都是在NET平台上的</span></p>
<img src ="http://www.blogjava.net/liaojiyong/aggbug/85413.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liaojiyong/" target="_blank">liaojiyong</a> 2006-12-04 17:23 <a href="http://www.blogjava.net/liaojiyong/archive/2006/12/04/85413.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>