深瞳

夜如深瞳,瞳深如夜

  :: :: 博问 :: 闪存 :: :: 联系 :: 订阅 订阅 :: 管理 ::
在.NET中使用Web Matrix
作者: Phillip Perkins
2005-04-26 11:31 AM

微软正在朝倾向ASP.NET Web Matrix的天平一侧添加更多的砝码。后者这一免费下载的软件能够帮助你创建ASP.NET Web应用程序、服务等等。该IDE运行在Windows 2000 and Windows XP系统上。本文给出了Web Matrix的基本情况,以及在使用Web Matrix创建.NET Web解决方案时所遵循的步骤。

Click here to find out more!

Web Matrix看上去同Visual Studio .NET有点相似,一些功能同VS.NET完全一样。使用Web Matrix时你可能会比较怀念一项功能(如果你一直使用的是微软开发工具),那就是IntelliSense。然而,该软件同样提供了一个类浏览器 (class browser),你可以通过它在.NET Framework中对不同的类进行仔细研究。借助这一类浏览器,你还可以制定计划来创建完成某项需要完成的功能的代码。

其他亮点则包括了SELECT、INSERT、UPDATE、DELETE以及Send Email代码向导,这些向导可以产生你为了对SQL或Microsoft Access执行查询指令或发送电子邮件所需的代码。对于那些希望模仿已有代码并对其进行个性化改造以加入新功能的使用者来说是再好不过的工具了。还有一 个令人瞩目的是工具箱中的Custom Controls按钮。右键单击后,你可以从在线组件库中对IDE添加各种控制。如果想避免创建自己定义的组件时所遇到的麻烦,它会非常有用——当然,在 你根本不想开发这些组件时它也会成为一个小麻烦。

不用深入过多细节,现在就让我们来创建一个Web服务。该服务将从SQL表格中选择一些数据,然后返回结果为dataset。幸运的是,软件提供了 在线教程,它将引导你完成此项解决方案的全部过程。我在某些步骤将参照在线教程,同时我还要强调一些要点并没有被包括到教程中。我将结合一些列的教程进行 讲解,这样你就可以更好的掌握如何创建一个更为实际的解决方案了。

按照教程中如下步骤就可以创建Web服务了。不同于使用教程中所用到的Filename、Class,、Language和Namespace,我 建议你使用相应的"mydata.asmx"、"MyDataClass"、"C#"和"MyData"。在代码窗口你需要输入以下内容:

<%@ WebService language="C#" class="MyDataClass" %>

using System;

using System.Web.Services;

using System.Xml.Serialization;

public class MyDataClass {

 

   [WebMethod]

   public int Add(int a, int b) {

   return a + b;

  }

}

为了在我的解决方案中增加调试,我做了一点小小的改动——将第一行加入了Debug="true"。我还将为我自己的类声明一个名字空间,即在类构造行的前面加入如下代码:

[WebService(Namespace="http://someplace.com/MyData")]


如果你没有添加这句代码,Web Matrix将会把名字空间设置为"http://tempuri.org/webservices"。这对开发是件好事情,但在软件发布的时候你需要对其进行修改。

Click here to find out more!

该向导将把"Add"方法添加到你的类中去,你可以删除这段代码。我们将添加一个类,用来选择数据并返回一个dataset。你也可以通过点击工具 箱中的Code Wizard按钮来完成这项工作。然后单击并把SELECT按钮拖动到类代码块中的空白区域。松开鼠标键,向导就会出现了。

向导的第一个界面将要求你选择一个数据库连接。设置Select A Database(选择数据库)域为<New Database Connection>(新数据库连接)。在Select A Database Type(设置数据库类型)中选择SQL Server/MSDE Database(SQL Server/MSDE数据库)。在此时,为了使用该向导,你需要具备一个可用的SQL Server,或者是安装了MSDE。我恰好有一个已经安装好的MSDE,于是我会选择此连接。如果你一个也没有,那么你或许应当考虑安装MSDE 2000。

下一步,单击Create(创建)按钮。在Server区域输入服务器名称(如果你没有使用SQL或MSDE的本地实例,那么保持默认的local 也可)。选择Windows Authentication(Windows 认证)(这非常重要)。选择你希望连接的数据库然后单击OK(我将连接到名为MAIN_DB的本地数据库)。按照接下来的几个向导窗口就可以创建 SELECT查询命令了。在到达最后一个界面的时候,你可以看到Finish(结束)按钮,请将此界面显示的方法名称改为GetMyData,并确保返回 值是DataSet。单击Finish按钮。

现在你就可以在代码窗口中看到所生成的代码了。如下:

 

    [WebMethod]

    public System.Data.DataSet GetMyData() {

        string connectionString ="server=\'(local)\'; trusted_connection=true;

 database=\'MAIN_DB\'";

        System.Data.IDbConnection dbConnection = new

 System.Data.SqlClient.SqlConnection(connectionString);

       

        string queryString = "SELECT [zips].* FROM [zips]";

        System.Data.IDbCommand dbCommand = new

 System.Data.SqlClient.SqlCommand();

        dbCommand.CommandText = queryString;

        dbCommand.Connection = dbConnection;

       

        System.Data.IDbDataAdapter dataAdapter = new

 System.Data.SqlClient.SqlDataAdapter();

        dataAdapter.SelectCommand = dbCommand;

        System.Data.DataSet dataSet = new System.Data.DataSet();

        dataAdapter.Fill(dataSet);

       

        return dataSet;

    }

 

请注意,我在结果代码中添加了[WebMethod]声明。这标志着该方法是一个Web方法。我还在该方法中添加了公共域限定符(public scope qualifier)。

http://www.zdnet.com.cn/developer/code/story/0,3800066897,39371759-1,00.htm
posted on 2005-07-25 23:32  深瞳  阅读(417)  评论(0编辑  收藏  举报