web service实例

最近想研究下web service,奈何找遍网络,都是讲些定义性的东西,泛泛而谈,我看的一知半解,不得要领。不过今天总算有点收获,写了 个小的web service例子,就是判断一个数是不是质数。还是老话,给大家起抛砖引玉的作用,只是给大家讲解如何开发最简单的web service程序 。只要入了门槛,以后的路就可以自己走了。

第一, 新建网站,选择类型为asp.net web 服务。

系统自动为你建立了个文件service.asmx.这就是一个最简单的web service服务。你可以直接运行查看效果。

第二,我们需要的是修改service.cs中的代码,来满足我们的要求。

修改后的Service.cs中的代码为:

using System; using System.Web; using System.Web.Services; using System.Web.Services.PRotocols;

[WebService(Namespace = "http://127.0.0.1/")]    //调用此web service的地址 [WebServiceBinding(ConformsTo = Wsiprofiles.BasicProfile1_1)] public class Service : System.Web.Services.WebService {     public Service () {

        //如果使用设计的组件,请取消注释以下行         //InitializeComponent();     }

    //[WebMethod]     //public string HelloWorld() {     //    return "Hello World";     //}

    /// <summary>     /// 判断一个数是不是质数     /// </summary>     /// <param name="number">要判断的数</param>     /// <returns>返回结果</returns>     [WebMethod(Description = "判断一个数是不是质数")]  //声明此函数为web service方法,可以供外 界调用     public string IsPrimeNumber(int number)     {         // 以下为算法,貌似不是最优的         string value = "";         if (number <= 0)         {             value = number.ToString() + "is not prime number";             return value;         }         else         {             for (int i = 2; i <= number / 2; i++)             {                 if (number % i == 0)                 {                     value = number.ToString() + "is not prime number";                     return value;                 }             }             value = number.ToString() + "is prime number";             return value;         }                 }     }

第三,你现在就可以直接运行了,效果如下。

 

你可以点击函数名,测试。

 

点击调用按钮后,以xml的形式显示结果。

 

至此,一个简单的web service程序就做好了。是不是很简单?呵呵,别急,下面将如何在web开发中调用web service。

第一,确认你要引用的web service服务当前是开启的。

第二, 要在网站中添加对此web service的调用。我们新建一个网站,右键点击项目属性选择添加web引用,然后输入要引用的web service的url,点击确定即可。

 

这个时候系统会自动添加引进过来的文件。

 

第三, 使用此web service。有一个页面show.aspx来让用户输入一个整数,我们通过调用web service来向用户反馈结果。

Show.aspx页面代码为:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="show.aspx.cs" Inherits="show" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1- transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server">     <title>无标题页</title> </head> <body>     <form id="form1" runat="server">     <div>         请输入要判断的整数:<asp:TextBox ID="TextBox1" runat="server" Width="98px"></asp:TextBox><br />         <asp:Button ID="Button1" runat="server" Text="确定 " OnClick="Button1_Click" /> <br />         <asp:Label ID="Label1" runat="server"></asp:Label></div>     </form> </body> </html>

Show.aspx.cs中页面代码为:

using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls;

public partial class show : System.Web.UI.Page {     protected void Page_Load(object sender, EventArgs e)     {

    }     protected void Button1_Click(object sender, EventArgs e)     {         int number = Convert.ToInt32(TextBox1.Text);   //获取文本框的值,并转化 为int型         WebReference.Service se = new WebReference.Service();  //实例化要调用的 webservice对象         Label1.Text = se.IsPrimeNumber(number);   //调用webservice的函数,输出结 果     } } 资料引用:http://www.knowsky.com/539740.html

posted @ 2014-05-07 13:09  x_window  阅读(143)  评论(0)    收藏  举报