WebService(Service)接口创立及调用

1.1、Web Service基本概念

一、solr简介

Solr
是Apache下的一个甲级开源项目,采用Java开发,它是基于Lucene的全文检索服务器。Solr提供了比Lucene更为充足的查询语言,同时实现了而是安排、可扩大,并针对索引、搜索性能举办了优化。

Solr是一个全文检索服务器,只待举办配备就可实现全文检索服务。

Solr它是一致种植开放源码的、基于
Lucene Java澳门美高梅手机网站, 的搜服务器,易于在到
Web 应用程序中。Solr
提供了界寻找(就是总括)、命中显著显示并且援助多输出格式(包括XML/XSLT
和JSON等格式)。它容易安装以及配置,而且附带了一个依据HTTP
的管制界面。可以行使 Solr
的变现理想的主旨搜索功用,也可以对它们举办扩大从而满意集团的得。Solr的性状包括:

  • 高档的全文检索效果
  • 专为胜通量的网络流量举办的优化
  • 基于开放接口(XML和HTTP)的专业
  • 归结的HTML管理界面
  • 可伸缩性-可以有效地复制到另外一个Solr搜索服务器
  • 行使XML配置达到灵活性与适配性
  • 但是扩大的插件体系

Web Service为于XML Web ServiceWeb瑟维斯(Service)(Service)是千篇一律种植好收到从Internet或者Intranet上的其他系统遭到传送过来的求,轻量级的独自的报导技术。是:通过SOAP在Web上提供的软件服务,使用WSDL文件举行求证,并经过UDDI举办注册。

 Lucene 是什么

Lucene是一个基于Java的全文音信搜索工具确保,它不是一个一体化的索应用程序,而是为您的应用程序提供索引和摸索效能。Lucene
时是 Apache Jakarta(首尔)
家族中之一个开源项目。也是时最好流行的基于Java开源全文检索工具包。近期一度暴发无数应用程序的寻找效率是按照Lucene ,比如Eclipse
协理系统的摸索效果。Lucene可以为文本类的数目建立目录,所以你如把你要索引的数额格式转化的文本格式,Lucene
就能对而的文档举行索引和摸索。

XML:(Extensible 马克up
Language)增添型可记语言。面向长期的即数据处理、面向万维网络,是Soap的根底。

次、solr的单机版安装

环境:centos6.5  64位 JDK1.7   tomcat1.7

 solr4.10.3

1、创立solor4目录,并以tomcat安装在该目录下

[root@localhost tools]# mkdir /usr/local/solr4

[root@localhost solr4]# pwd
/usr/local/solr4
[root@localhost solr4]# ll
总用量 4
drwxr-xr-x. 9 root root 4096 3月   4 01:17 tomcat7

jdk与tomcat的安参考:http://www.cnblogs.com/jalja/p/6117048.html

2、安装solr    solr-4.10.3.tgz.tgz

解压:[root@localhost tools]# tar -zxvf solr-4.10.3.tgz.tgz

目介绍:

[root@localhost solr-4.10.3]# ll
总用量 996
drwxr-xr-x.  2 root root   4096 3月   4 01:23 bin
-rw-r--r--.  1 root root 406208 12月 10 2014 CHANGES.txt
drwxr-xr-x. 13 root root   4096 12月 10 2014 contrib
drwxr-xr-x.  4 root root   4096 3月   4 01:23 dist
drwxr-xr-x. 17 root root   4096 3月   4 01:23 docs
drwxr-xr-x. 15 root root   4096 3月   4 01:23 example
drwxr-xr-x.  2 root root  28672 3月   4 01:23 licenses
-rw-r--r--.  1 root root  12646 12月  1 2014 LICENSE.txt
-rw-r--r--.  1 root root 501873 12月  8 2014 LUCENE_CHANGES.txt
-rw-r--r--.  1 root root  24655 12月  1 2014 NOTICE.txt
-rw-r--r--.  1 root root   5344 12月  1 2014 README.txt
-rw-r--r--.  1 root root    850 12月  1 2014 SYSTEM_REQUIREMENTS.txt

(1)bin:是本子的起步目录

(2)contrib:第三着担保存放的目

(3)dev-tools:跟开发工具相关的管

(4)dist:编译打包后存放目录,即构建后的输出产物存放的目录

(5)docs:solr文档的存目录

(6)example:示范例子的存放目录,这里体现了DIH,即数据导入处理的事例

(7)licenses:权限相关的

(8)lucene:solr基于Lucene开发,本身是lucene代码的目录,但是构建后都也空,相关物就到jar包中

(9)server:即solr搜索引擎框架,基于jetty
web服务器出的。包含jetty服务器的布置。(那多少个目录就象是于一个暗含了tomcat服务器,里面有一个基于solr的web工程)

3、将solr(/opt/tools/solr-4.10.3/dist/solr-4.10.3.war)应用部署至tomcat下,并改名换姓为solr.war(访问简单)

/opt/tools/solr-4.10.3/dist
[root@localhost dist]# cp solr-4.10.3.war /usr/local/solr4/tomcat7/webapps/solr.war

4、启动tomcat

[root@localhost bin]# ./startup.sh 

5、关闭tomcat,删除webapps中的 solr.war  
 [root@localhost webapps]# rm -rf solr.war

6、复制/opt/tools/solr-4.10.3/example/lib/ext
下之日记相关jar包到solr工程中

[root@localhost ext]# cp *
/usr/local/solr4/tomcat7/webapps/solr/WEB-INF/lib/

7、创设solrhome。用于存放solr服务器所有配置文件的目录

[root@localhost example]# pwd
/opt/tools/solr-4.10.3/example
[root@localhost example]# cp -r solr /usr/local/solr4/solrhome

8、指定solrhome的位置 修改solr工程的
web.xml文件

    <env-entry>
       <env-entry-name>solr/home</env-entry-name>
       <env-entry-value>/usr/local/solr4/solrhome</env-entry-value>
       <env-entry-type>java.lang.String</env-entry-type>
    </env-entry>

9、修改tomcat的编码模式

    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"
               URIEncoding="UTF-8"/>

 

10、启动tomcat ,开放8080端口

[root@localhost bin]#  /sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT   
[root@localhost bin]#   /etc/init.d/iptables save 
iptables:将防火墙规则保存到 /etc/sysconfig/iptables:     [确定]
[root@localhost bin]# service iptables restart
iptables:将链设置为政策 ACCEPT:filter                    [确定]
iptables:清除防火墙规则:                                 [确定]
iptables:正在卸载模块:                                   [确定]
iptables:应用防火墙规则:                                 [确定]

11、访问solr应用

http://192.168.6.179:8080/solr

 

Soap:(Simple Object Access Protocol)简单对象存取协议。是XML Web Service的通信协议。当用户通过UDDI找到您的WSDL描述文档后,他透过方可SOAP调用你建的Web服务被之一个依然多单操作。SOAP是XML文档情势的调用方法的正规化,它可以支撑不同的最底层接口,像HTTP(S)或者SMTP。

WSDL:(Web 瑟维斯(Service)s Description Language) WSDL 文件是一个 XML
文档,用于表明一组 SOAP
音讯及如何互换那么些新闻。大多数景下是因为软件自动生成和运用。

UDDI (Universal Description, Discovery, and Integration)
是一个要害针对Web服务供应商和使用者的初类型。在用户会调用Web服务在此以前,必须确定此服务外含有哪些商务方法,找到为调用的接口定义,还要当劳务端来编排软件,UDDI是平种植遵照描述文档来带系统查找相应服务之机制。UDDI利用SOAP信息机制(标准的XML/HTTP)来发表,编辑,浏览以及查找注册信息。它使XML格式来封装各类不同类别的数据,并且发送至注册核心或由于登记中央来回到需要之数。

1.2、XML Web Service的特点

Web 瑟维斯(Service)的最重要对象是跳平台的但互操作性。为了落实这同样目标,Web Service完全依据XML(可扩充标记语言)、XSD(XML
Schema)等独立于阳台、独立于软件供应商的正经,是开创而互相操作的、分布式应用程序的新平台。由此下Web
瑟维斯(Service)有多长:

1、跨防火墙的通信

假定应用程序有成百上千的用户,而且分布于世界各地,那么客户端和服务器之间的通信将凡一个疑难的问题。因为客户端和服务器之间通常会出防火墙或者代理服务器。传统的做法是,采取用浏览器作为客户端,写下一致百般堆ASP页面,把应用程序的中层显露于最终用户。这样做的结果是出难度好,程序万分为难保障。
假如客户端代码不再这样凭借让HTML表单,客户端的编程就概括多矣。倘诺中间层组件换成Web
瑟维斯(Service)的讲话,就得从用户界面直调用中间层组件,从而省去建立ASP页面的这同样步。要调用Web
Service,可以直接使用Microsoft SOAP
Toolkit或.net这样的SOAP客户端,也堪运用好出的SOAP客户端,然后拿她同应用程序连接起来。不仅收缩了开发周期,还收缩了代码复杂度,并能增进应用程序的可维护性。同时,应用程序也不再用在每一回调用中间层组件时,都超反至对应的”结果页”。

2、应用程序集成

店铺级的应用程序开发者都了然,集团里经常还如把用不同语言形容成的、在不同平台上运行的各类程序并起来,而这种购并以消费非凡酷的开支能力。应用程序平时用由运行的等同宝主机上的次第中获取数据;或者将数量发送至主机或其他平台应用程序中失去。即使在同一个平台及,不同软件厂商生产的各个软件为平常需要并起来。通过Web
瑟维斯(Service),应用程序可以就此专业的格局把效益以及数量”显露”出来,供其他应用程序使用。

XML Web services 提供了于松耦合环境被使用标准协议(HTTP、XML、SOAP 和
WSDL)互换音信之能力。音信可以是结构化的、带项目标,也不过高枕无忧定义之。

3、B2B的集成

B2B 指的凡Business to Business,as in businesses doing business with
other
businesses,商家(泛指集团)对公司之电子商务,即店和信用社期间通过互联网开展产品、服务同音信的互换。通俗的布道是恃开展电子商务交易的供需双方都是公司(或公司、公司),她们使用了Internet的技术或者各种商务网络平台,完成商务交易的经过。

Web Service(Service)是B2B集成成之最紧要。通过Web
Service,集团得以单独需要将要之商务应用”显露”给指定的供应商和客户,就可了,Web
瑟维斯(Service)(Service)运行于Internet上,在世界任何地方还只是自由实现,其运行成本就相对相比较逊色。Web
瑟维斯(Service)(Service)只是B2B集成的一个着重部分,还得多外的有的才会兑现并。
用Web
瑟维斯(Service)来实现B2B集成的最为特别好处在可任意实现互操作性。只要将商务逻辑”透露”出来,成为Web
Service(Service),就可为任何指定的合作伙伴调用这个商务逻辑,而任由他们之网于啊平台上运行,使用什么支出语言。这样就大大缩短了花在B2B集成达的日子以及财力。

4、软件与数码重用

Web Service(Service)以同意用代码的同时,可以选择代码背后的数目。使用Web
瑟维斯(Service),再为不用像往日那么,要事先从第三正在购买、安装软件组件,再于应用程序中调用那些组件;只需要直接调用远端的Web
瑟维斯(Service)就足以了。另一样种植软件用的气象是,把某些只应用程序的法力并起来,通过Web
Service”透露”出来,就能够异常容易地拿具有这多少个职能还拼到公的派系站点中,为用户提供一个联结的、友好的界面。
可以以应用程序中采用第三正值的Web Service(Service)提供的效用,也可以把团结之应用程序效能通过Web Service提供于别人。两栽意况下,都足以引用代码和代码背后的数码。

于以上论述可以看看,Web Service在通过Web进行互操作或远程调用的时段是无与伦比实用的。可是,也起一些景观,Web
Service根本无法带动其他好处,Web Service有弹指间欠缺:

1、 单机应用程序

即,集团以及村办还使用着广大桌面应用程序。其中有止待同本机上的另外程序通信。在这种景观下,最好就不要由此Web
瑟维斯(Service)(Service),只要用本地的API就可以了。COM极度适合于以这种情况下工作,因为其既小而且快。运行在同等台服务器上的服务器软件也是这么。当然Web
Service(Service) 也能为此在这多少个场所,但这样不仅吃太死,而且免会师带来其他功利。

2、 局域网的片段应用程序

在众多使中,所有的先后都是当Windows平台下采纳COM,都运行于跟一个局域网上。在这多少个程序里,使用DCOM会比SOAP/HTTP有效得多。与这多少个互为接近,假设一个.net先后要连续到局域网上的另一个.net主次,应该使用.net
Remoting。其实在.net Remoting中,也可以指定使用SOAP/HTTP来拓展Web
Service 调用。不过最好好或直接通过TCP举行RPC调用,这样会立竿见影得多。

1.3、XML Web Service的应用

1.头的 XML Web Service常常是可以一本万利地并应用程序的音信来,如股票价格、天气预报、体育成就等等。

2.为 XML Web Service情势供现有应用程序,可以构建新的、更强的应用程序,并采纳 XML Web
Service(Service) 作为社团块。

比如,用户可出一个买应用程序,以活动得到来自不同供应商之标价信息,从而使用户可以选供应商,提交订单,然后跟货物之运,直至收到商品。而供应商的应用程序除了以Web上提供劳务外,还得使用XML
Web 瑟维斯(Service)检查客户的信用、收取货款,并同货运集团做货运手续。

二、Web Service开发

.net平台内修筑了针对性Web 瑟维斯(Service)的支撑,包括Web
瑟维斯(Service)(Service)的构建与应用。与外开销平台不同,使用.net平台,你免需要任何的工具或SDK就可以完成Web
Service的开销了。.net Framework本身就应有尽有协理Web
瑟维斯(Service)(Service),包括服务器端的请处理器和针对客户端发送和经受SOAP音讯之支撑。下来我们就是相同步一步的之所以Microsoft
Visual Studio .net 20058(前面简称VS.Net 2008)创造和选用一个简练的Web
Service。

2.1、用创设一个极其简易的Web 瑟维斯(Service)(Service)

首先,打开VS2005,打开”文件-新建-网站”,选择”ASP.NET Web服务”

 澳门美高梅手机网站 1

查瑟维斯(Service).cs代码,你会发觉VS.Net 2005早就也Web
瑟维斯(Service)(Service)文件建立了不够省的框架。原始代码为:

view plaincopy to clipboardprint?
using System;   
using System.Linq;   
using System.Web;   
using System.Web.Services;   
using System.Web.Services.Protocols;   
using System.Xml.Linq;   
[WebService(Namespace = “http://tempuri.org/“)]   
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]   
// 若使允许以 ASP.NET AJAX 从剧本中调用此 Web
服务,请裁撤对下行的诠释。   
// [System.Web.Script.Services.ScriptService]   
public class Service : System.Web.Services.WebService   
{   
    public Service () {   
        //假诺使用规划之零部件,请撤消注释以下行    
        //InitializeComponent();    
    }   
    [WebMethod]   
    public string HelloWorld()   
    {   
        return “Hello World”;   
    }   
}  
using System;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Xml.Linq;
[WebService(Namespace = “http://tempuri.org/“)]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
// 若一旦允许下 ASP.NET AJAX 从剧本中调用此 Web
服务,请撤废针对下行的注释。
// [System.Web.Script.Services.ScriptService]
public class Service : System.Web.Services.WebService
{
    public Service () {
        //假如使用计划的零部件,请撤消注释以下行 
        //InitializeComponent(); 
    }
    [WebMethod]
    public string HelloWorld()
    {
        return “Hello World”;
    }
}

默认工程中已来一个Hello World的不二法门了,间接运行看效果,

 澳门美高梅手机网站 2

点击显示页面及图中之”HelloWorld”超链接,跳反到下一页面:

 澳门美高梅手机网站 3

点击”调用”按钮,就能够看到用XML格式再次回到的Web
瑟维斯(Service)结果下图。表达大家的Web
瑟维斯(Service)(Service)环境没有问题,而且还起头点了弹指间相当简易的Web Service。

2.2、制造一个简单易行带有功用的Web 瑟维斯(Service)(Service)

方大家本之摸底了webservice,其实它就是是独对外的接口,里面来函数可供应外部客户调用(注意:里面同样暴发客户不可调用的函数).假一旦我们是服务端,咱们刻画好了只webservice,然后拿它们深受了客户(同时我们给了他们调用规则),客户就可以于自服务端获取新闻时处于一个针锋绝对透明底状态.即是客户无通晓(也不需要)其过程,他们仅仅获取数据.在代码文件里,尽管我们刻画了一个函数后,希望这些函数成为外部可调用的接口函数,大家要以函数方面添上一行代码[WebMethod(Description=”函数的描述信息”)],假设您的函数没有此发明,它以未可以吃用户引用.下来大家开编制一个简便的Web
瑟维斯(Service) 的例证。

预先拿默认的HelloWorld方法注释掉,简单的状了请求加减乘除运算的季只章程;

view plaincopy to clipboardprint?
using System;   
using System.Linq;   
using System.Web;   
using System.Web.Services;   
using System.Web.Services.Protocols;   
using System.Xml.Linq;   
[WebService(Namespace = “http://tempuri.org/“)]   
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]   
// 若一旦允许拔取 ASP.NET AJAX 从剧本中调用此 Web
服务,请撤销对下行的表明。   
// [System.Web.Script.Services.ScriptService]   
public class Service : System.Web.Services.WebService   
{   
    public Service () {   
        //要是使用计划的机件,请撤废注释以下行    
        //InitializeComponent();    
    }   
    //[WebMethod]   
    //public string HelloWorld()   
    //{   
    //    return “Hello World”;   
    //}   
    [WebMethod(Description = “求和的道”)]   
    public double addition(double i, double j)   
    {   
        return i + j;   
    }   
    [WebMethod(Description = “求差的措施”)]   
    public double subtract(double i, double j)   
    {   
        return i – j;   
    }   
    [WebMethod(Description = “求积的不二法门”)]   
    public double multiplication(double i, double j)   
    {   
        return i * j;   
    }   
    [WebMethod(Description = “求商的方法”)]   
    public double division(double i, double j)   
    {   
        if (j != 0)   
            return i / j;   
        else  
            return 0;   
    }   
}  
using System;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Xml.Linq;
[WebService(Namespace = “http://tempuri.org/“)]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
// 若一旦允许使用 ASP.NET AJAX 从剧本中调用此 Web
服务,请撤消对下行的诠释。
// [System.Web.Script.Services.ScriptService]
public class Service : System.Web.Services.WebService
{
    public Service () {
        //假若使用规划之机件,请撤销注释以下行 
        //InitializeComponent(); 
    }
    //[WebMethod]
    //public string HelloWorld()
    //{
    //    return “Hello World”;
    //}
    [WebMethod(Description = “求和的计”)]
    public double addition(double i, double j)
    {
        return i + j;
    }
    [WebMethod(Description = “求差的艺术”)]
    public double subtract(double i, double j)
    {
        return i – j;
    }
    [WebMethod(Description = “求积的模式”)]
    public double multiplication(double i, double j)
    {
        return i * j;
    }
    [WebMethod(Description = “求商的法子”)]
    public double division(double i, double j)
    {
        if (j != 0)
            return i / j;
        else
            return 0;
    }
}
 

运转可以看看我们团结一心写的足让调用的法门,如下图:

 澳门美高梅手机网站 4

一律点击addition方法,进入addition方法的调用页。

 澳门美高梅手机网站 5

在参数方面输入参数i=3,j=3,如达到图,点击调用,就能够看到用XML格式重回的Web
Service结果(i与j相加的结果)下图

 到这里,大家会发现,其实webservice并无是那么的隐秘,它为不过只有是只接口,对咱而言,侧重点虽是凡接口函数的编写.

2.3、用ASP.NET调用Web Service
首先,打开VS2005,打开”文件-新建-网站”,选择”ASP.NET网站”。

 澳门美高梅手机网站 6

分选好存储地点,语言后点击确定,进入默认页面。然后先上加Web引用,把WebService(Service)引到即之工程中。方法是:在资源管理器中点击右键,接纳上加Web
引用,调出对话框:

 澳门美高梅手机网站 7

当URL中填入,前边写好的Web瑟维斯(Service)(Service)运行后浏览器上边展现的地址(即:Web瑟维斯发表后的看地址
),点击”前往”按钮,如齐图,就会见来得有所引用的WebService(Service)中好调用的法,然后点击”添加引用”,就拿webservice引用到了手上之工里面
,如下图,解决方案遭相会并发引进来之WebService文件

 澳门美高梅手机网站 8

我们在顿时虽然练调用webservice的季只法子,做一个简约的调用的例证,先在网站的前台长多少个控件,代码如下:

view plaincopy to clipboardprint?
<%@ Page Language=”C#” AutoEventWireup=”true” 
CodeFile=”Default.aspx.cs” Inherits=”_Default” %>   
<!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=”Num1″
runat=”server”></asp:TextBox>   
             <select id=”selectOper” runat = “server”>   
                 <option>+</option>   
                 <option>-</option>   
                 <option>*</option>   
                 <option>/</option>   
             </select>   
             <asp:TextBox ID=”Num2″
runat=”server”></asp:TextBox>   
        <asp:Button ID=”Button1″ runat=”server” Text=”=”
onclick=”Button1_Click” />   
             <asp:TextBox ID=”Result”
runat=”server”></asp:TextBox>   
    </div>   
    </form>   
</body>   
</html>  
<%@ Page Language=”C#” AutoEventWireup=”true” 
CodeFile=”Default.aspx.cs” Inherits=”_Default” %>
<!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=”Num1″
runat=”server”></asp:TextBox>
             <select id=”selectOper” runat = “server”>
                 <option>+</option>
                 <option>-</option>
                 <option>*</option>
                 <option>/</option>
             </select>
             <asp:TextBox ID=”Num2″
runat=”server”></asp:TextBox>
        <asp:Button ID=”Button1″ runat=”server” Text=”=”
onclick=”Button1_Click” />
             <asp:TextBox ID=”Result”
runat=”server”></asp:TextBox>
    </div>
    </form>
</body>
</html>
 

然后以后台写调用的代码,调用此前与运用外的目的同,要优先实例化,实例化的模式是localhost.瑟维斯(Service)(Service)a = new
localhost.Service();然后就是可以通过a来做客Web瑟维斯(Service)内提供的法子了。在此例子中,动态的始建了一个button控件来触发WebService(Service)的调用,后台代码如下:
运作后可寓目效能,如下图所呈现,在前三只Textbox里面输入五只操作数,在中游的下拉列表中甄选操作符,然后点击”=”号,将计的结果输出到第三单Textbox里面。

 澳门美高梅手机网站 9

假若全总计并无是于地头开展的,是当Web服务端举行测算的下一场以结果通过XML返还于了调用方的,所以,在运作该次的时段,WebService程序还非得启动,否则会报不能连接远程服务器的杀,如下图:

 澳门美高梅手机网站 10

后台代码如下:

view plaincopy to clipboardprint?
using System;   
using System.Configuration;   
using System.Data;   
using System.Linq;   
using System.Web;   
using System.Web.Security;   
using System.Web.UI;   
using System.Web.UI.HtmlControls;   
using System.Web.UI.WebControls;   
using System.Web.UI.WebControls.WebParts;   
using System.Xml.Linq;   
public partial class _Default : System.Web.UI.Page    
{   
    protected void Page_Load(object sender, EventArgs e)   
    {   
    }   
    protected void Button1_Click(object sender, EventArgs e)   
    {   
        string selectFlag = selectOper.Value;   
        localhost.Service web = new localhost.Service();   
        if (selectFlag.Equals(“+”))   
        {   
            Result.Text
=(web.addition(double.Parse(Num1.Text),double.Parse(Num2.Text))).ToString();   
        }   
        else if (selectFlag.Equals(“-“))   
        {   
            Result.Text = (web.subtract(double.Parse(Num1.Text),
double.Parse(Num2.Text))).ToString();   
        }   
        else if (selectFlag.Equals(“*”))   
        {   
            Result.Text = (web.multiplication(double.Parse(Num1.Text),
double.Parse(Num2.Text))).ToString();   
        }   
        else if (selectFlag.Equals(“/”))   
        {   
            Result.Text = (web.division(double.Parse(Num1.Text),
double.Parse(Num2.Text))).ToString();   
        }   
    }   
}  
using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
public partial class _Default : System.Web.UI.Page 
{
    protected void Page_Load(object sender, EventArgs e)
    {
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        string selectFlag = selectOper.Value;
        localhost.Service web = new localhost.Service();
        if (selectFlag.Equals(“+”))
        {
            Result.Text
=(web.addition(double.Parse(Num1.Text),double.Parse(Num2.Text))).ToString();
        }
        else if (selectFlag.Equals(“-“))
        {
            Result.Text = (web.subtract(double.Parse(Num1.Text),
double.Parse(Num2.Text))).ToString();
        }
        else if (selectFlag.Equals(“*”))
        {
            Result.Text = (web.multiplication(double.Parse(Num1.Text),
double.Parse(Num2.Text))).ToString();
        }
        else if (selectFlag.Equals(“/”))
        {
            Result.Text = (web.division(double.Parse(Num1.Text),
double.Parse(Num2.Text))).ToString();
        }
    }
}
 

到那一个一个一个简约的WebService的支出与调用就早已成功了,在实质上接纳中得以依照自己的需,写有效用强大的,复杂的Web瑟维斯(Service),不管多繁杂,整个流程都是如此的。

 

转载地址:http://blog.csdn.net/h0322/archive/2009/11/07/4776819.aspx

正文自CSDN博客,转载请标明出处:http://blog.csdn.net/wl_ldy/archive/2010/05/23/5618626.aspx

发表评论

电子邮件地址不会被公开。 必填项已用*标注