C# Web Service

5 篇文章 0 订阅

关键概念

Web Service
也叫XML Web Service WebService,是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。是通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行注册。

XML(Extensible Markup Language,扩展型可标记语言)
面向短期的临时数据处理、面向万维网络,是Soap的基础。

Soap(Simple Object Access Protocol,简单对象存取协议)
是XML Web Service 的通信协议。当用户通过UDDI找到你的WSDL描述文档后,他通过可以SOAP调用你建立的Web服务中的一个或多个操作。SOAP是XML文档形式的调用方法的规范,它可以支持不同的底层接口,像HTTP(S)或者SMTP。

WSDL(Web Services Description Language)
WSDL 文件是一个 XML 文档,用于说明一组 SOAP 消息以及如何交换这些消息。大多数情况下由软件自动生成和使用。

UDDI (Universal Description, Discovery, and Integration)
是一个主要针对Web服务供应商和使用者的新项目。在用户能够调用Web服务之前,必须确定这个服务内包含哪些商务方法,找到被调用的接口定义,还要在服务端来编制软件,UDDI是一种根据描述文档来引导系统查找相应服务的机制。UDDI利用SOAP消息机制(标准的XML/HTTP)来发布,编辑,浏览以及查找注册信息。它采用XML格式来封装各种不同类型的数据,并且发送到注册中心或者由注册中心来返回需要的数据。



应用场景

单机
COM

局域网
DCOM(已经基本淘汰)
.net Remoting

Web
XML Web Service,平台无关性



属性

WebMethod

WebMethod有6个属性:
.Description
.EnableSession
.MessageName
.TransactionOption
.CacheDuration
.BufferResponse

Description
是对webservice方法描述的信息。就像webservice方法的功能注释,可以让调用者看见的注释。

[WebMethod(Description="Author:ZFive5 Function:Hello World") ]
public string HelloWorld()
{
  return "Hello World";
}

EnableSession
指示webservice否启动session标志,主要通过cookie完成的,默认false。

public static int i=0;
[WebMethod(EnableSession=true)]
public int  Count()
{
   i=i+1;
   return i;
}

刷新页面可以累加

MessageName
主要实现方法重载后的重命名

<%@ WebService Language="C#" Class="Calculator" %>

 using System;
 using System.Web.Services;

 public class Calculator : WebService {
    // The MessageName property defaults to Add for this XML Web service method.
    [WebMethod]
    public int Add(int i, int j) {
       return i + j;
    }   
    [WebMethod(MessageName="Add2")]
    public int Add(int i, int j, int k) {
       return i + j + k;
    }   
 }

TransactionOption
指示 XML Web services 方法的事务支持
暂时先这样

CacheDuration
Web支持输出高速缓存,这样webservice就不需要执行多遍,可以提高访问效率,
而CacheDuration就是指定缓存时间的属性。我一般定义为12个小时,对于一些不是需要经常取数据的情况。

public static int i=0;
[WebMethod(EnableSession=true,CacheDuration=30)]
public int  Count()
{
   i=i+1;
   return i;
}

值一直保存在高速缓存中,如果想要值不一样,等30s。

BufferResponse
配置WebService方法是否等到响应被完全缓冲完,才发送信息给请求端。普通应用要等完
全被缓冲完才被发送的!
当 BufferResponse 为 false 时,将对 XML Web services 方法  colorredSOAP

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值