asp.net写的web service例子

news/2024/7/4 23:09:52 标签: service, web, asp.net, webservice, textbox, button

第一, 新建网站,选择类型为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>
    /// 判断一个数是不是质数 by flysky 2008-04-25
    /// </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;
        }
           
    }
   
}

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

web3.jpg" />

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

web4.jpg" />

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

web5.jpg" />

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

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

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

web6.jpg" />

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

web7.jpg" />

第三, 使用此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的函数,输出结 果
    }
}

运行效果为:

web8.jpg" />

怎么样?现在对web service已经有了一定的了解了吧!关于它的更深技术还要我们一起钻研啊。

另外附上参考文章:http://www.cnblogs.com/salonliudong/archive/2007/06 /16/785604.html,这里有更详细的说明。


http://www.niftyadmin.cn/n/1412307.html

相关文章

《redis 入门看这系列就够了》第三章 redis的数据类型 - string

redis 第三章 redis的数据类型 - string String(字符串) 常用的入门命令 1.set&#xff0c;get&#xff0c;del&#xff0c;append&#xff0c;strlen &#x1f4cc;set key xxx 设置键key的value值为xxx&#xff0c;如果重复则覆盖之前value值 127.0.0.1:6379> set k1 …

向Dialog中添加一个新的Menu

1、创建一个新的Menu&#xff0c;在资源管理视图中&#xff0c;右键Menu-->传入Menu 2、设计新Menu&#xff0c;ID为IDR_MENU1 3、在该Dialog的源文件中&#xff0c;找到CTest001Dlg::OnInitDialog()方法&#xff0c;添加如下代码&#xff1a; CDialogEx::OnInitDialog(); C…

将DataTable导出为Excel (XML Spreadsheet)

前阵子公司有同事需要将搜索页面的搜索结果导出成Excel文件. 用几个不同的办法做了出来. 最后部署时发现: 用COM组件行不通, 服务器上没装OFFICE; 用OWC也不行, 因为服务器是64位的, OWC不支持; 导出成Excel2003支持的xml, 这招最灵活, 也是一个简单可行的办法. 首先用Excel 2…

Python常用内置函数(一)

1. lambda匿名函数&#xff1a;定义函数过程&#xff0c;让代码更简洁a lambda x,y:xya(2,3)52. reduce&#xff1a;循环reduce(lambda x,y:xy, xrange(1,101))5050# 相当((((12)3)4)5)....100)__builtin__.内置函数3. abs: 返回参数的绝对值abs(-10) 104. max: 返回序列的最大…

《redis入门看这系列就够了》第四章 redis的数据类型 - list

redis 第四章 redis的数据类型 - list list 列表 常用的入门命令 1.lpush&#xff0c;rpush&#xff0c;lrange &#x1f4cc;lpush key x y z 从左侧设置key的列表值value为[x,y,z] 127.0.0.1:6379> lpush list1 1 2 3 3 4 5 (integer) 5 OK&#x1f4cc;rpush key x y…

Office 2007或Office 2010套件初始安装中断后无法重新启动安装程序,错误“Microsoft Office xxx在安装过程中出错”...

大家好&#xff0c;不知道大家在安装Office2007或Office2010时有没有遇到过这样的现象&#xff0c;在您第一次安装Office2007或Office2010套件时&#xff0c;因为某种原因安装中断&#xff0c;当您试图重新安装相同的Office套件时&#xff0c;安装失败并且收到如下的错误提示Mi…

UpdatePanel的妙用:Incremental Content

Incremental Content是我随意取的名字&#xff0c;我有时候会希望&#xff0c;把一些常见的场景&#xff0c;总结出ASP.NET AJAX一些比较固定的使用模式。Incremental Content是我为现在这个“模式”取的名字。这个模式的作用&#xff0c;就是使用UpdatePanel来不断地在页面上增…

mysql数据备份-mysqldump,shell导入导出mysql数据

1. shell脚本-导出mysql数据 #! /bin/bash #数据库信息 mysql_userroot # mysql密码 mysql_password"" # mysql的IP mysql_host"" # mysql 端口 mysql_port"6306" # 数据存放路径 backup_dir"/home/data1/taishi/app/mysqlback" # 库…