.net笔试常见题(四) webservice

     最近由于项目需要,笔者一直忙于java平台与.net客户端的接口设计,使用比较多的是java中的webservice框架技术 XFire 、Axis等,然后基于.net服务端的webservice使用知识是面试Asp.net程序员几乎必考的一方面。因此下面了解一下webservice。

 

     Web Service主要是为了使原来各孤立的站点之间的信息能够相互通信、共享而提出的一种接口。 Web Service所使用的是Internet上统一、开放的标准,如HTTP、XML、SOAP(简单对象访问协议)、WSDL等,所以Web Service可以在任何支持这些标准的环境(Windows,Linux)中使用。注:SOAP协议(Simple Object Access Protocal,简单对象访问协议),它是一个用于分散和分布式环境下网络信息交换的基于XML的通讯协议。在此协议下,软件组件或应用程序能够通过标准的HTTP协议进行通讯。它的设计目标就是简单性和扩展性,这有助于大量异构程序和平台之间的互操作性,从而使存在的应用程序能够被广泛的用户访问。

 

  WebService主要解决的跨平或异构程序系统台方面数据交互、信息传递的需求,在项目过程会经常遇到这类的需求。

 

 

笔者在VS2008中创建webservice时相当简单,右击项目——》添加新项——》web服务(webservice2为该服务的名称),你就可以看到生成了webservice2.asmx文件

using System;
using System.Collections;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Xml.Linq;

/// <summary>
///WebService2 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]


[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
//若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
// [System.Web.Script.Services.ScriptService]


public class WebService2 : System.Web.Services.WebService {

    public WebService2 () {

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

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

 

 

从上面的自动生成的代码分析:[WebService(Namespace = "http://tempuri.org/")]可以根据自己需要更改命名空间,同时看到 class WebService2中  [WebMethod] 可以按需求定义,这里HelloWorld()是默认生成,可以删掉自己重新写,同时可以定义一些属性之类,编写好之后Ctrl+F5进行发布,注意生成后显示了页面,地址栏中的http://localhost:3521/WebSite2/WebService2.asmx就别人引用你的服务地址,如果不是本机调用修改localhost为你发布服务机器的IP地址。

 

 

调用方法: 在.net端调用右击你需要调用的项目---》添加Web引用--》粘贴上刚才发布的地址(注意不是本机调用要修改地址中的localhost为该机的IP)---》前往即可找到默认命名为localhost

 

 

这里在新建页面调用webservice

 

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

    }
    protected void Button1_Click(object sender, EventArgs e)
    {

        //实例化服务对象
        localhost.WebService2 lw = new localhost.WebService2();

       //调用该服务对象的方法

        lw.HelloWorld();
    }
}

     十分简单的操作,我们可以根据需求定义不同的具体服务的方法,来满足不同的业务应用。具体的Webservice方法实例,笔者将在以后结合java的webservice使用一起给出实例。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值