WebServices基础知识(MSDN整理)

原创 2007年10月09日 23:16:00

Windows Communication Foundation (WCF) 是 Microsoft 建立分布式系统的下一代平台。作为 .NET Framework 3.* 的一部分,它是设计用来巩固并扩展以前版本 Framework 的 API(即,ASP.NET Web Services、.NET Remoting, Enterprise Services (COM+) 和消息排队)。为更好地学习这个新东东,特作以下记录---回顾ASP.NET Web Services.
一:XML Web services 由两部分组成:XML Web services 入口点和实现 XML Web services 功能的代码。在 ASP.NET 中,.asmx 文件是用作 XML Web services 的可寻址入口点的文本文件。它引用预编译的程序集中的代码、代码隐藏文件或包含于 .asmx 文件本身的代码。
 三种方式事例:
 1.引用预编译的程序集中的代码: 

namespace Baosight.BPMS.DE.DP.BusinessLogic
...{   
    
/**//// ...   
    public class DeviceListServiceFacade :WebService, IDeviceListServiceFacade
    
...{
       [WebMethod]
        
public void UpdateDeviceChangeListHead(DeviceChangeListHead deviceChangeListHead)
        
...{
           
/**////...
        }
  
 ... 
    }

}

.asmx文件内容如下:

<%...@ WebService Language="C#" class="Baosight.BPMS.DE.DP.BusinessLogic.DeviceListServiceFacade" %>

 2.代码隐藏文件:
   默认情况下,当使用 ASP.NET Web 服务项目模板创建 XML Web services 时,Visual Studio 使用代码隐藏文件,例如在VS2005中,App_Code下将会出现:Service.cs。具体逻辑在此文件实现即可.
.asmx文件内容如下:

<%@ WebService Language="C#" CodeBehind="~/App_Code/Service.cs" Class="Service" %>

 3.包含于.asmx 文件本身:

<%...@ WebService Language="C#" Class="CoreCommonWebService" %>
using System;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class CoreCommonWebService  : System.Web.Services.WebService {

    [WebMethod]
    public bool IsAutoFlow(string userId, string workflowName, string taskId, string stepPolicy)
    {
        return Baosight.BPMS.Core.Adapter.WorkflowHelper.IsAutoFlow(userId, workflowName, taskId, stepPolicy);
    }
}

二:使用 WebService 属性
   可以使用 WebService 属性指定命名空间(默认为“http://tempuri.org”)和 XML Web services 的说明文本。默认情况下,ASP.NET Web 服务项目模板不生成包含该属性的类。用逗号分隔多个属性。如下所示意

[System.Web.Services.WebService(Namespace="http://servername/xmlwebservices/"
   Description
="Some descriptive text could go here.")] 
public class Service1 : System.Web.Services.WebService
...
    
// Implementation code.
}

三:使用 WebMethod 属性
  WebMethod 属性 (Attribute) 提供以下属性 (Property):

BufferResponse :启用对 XML Web services 方法响应的缓冲。当设置为 true(默认设置)时,ASP.NET 在将响应向下发送到客户端之前对整个响应进行缓冲。缓冲非常有效,它通过最小化辅助进程和 IIS 进程之间的通信来帮助提高性能。当设置为 false 时,ASP.NET 以 16KB 的块区缓冲响应。通常,只有在不想将响应的全部内容一次缓冲到内存时,才将该属性 (Property) 设置为 false,除非另外指定,默认值为 true。

CacheDuration :启用对 XML Web services 方法结果的缓存。ASP.NET 将缓存每个唯一参数集的结果。该属性 (Property) 的值指定 ASP.NET 应该对结果进行多少秒的缓存处理。值为零,则禁用对结果进行缓存。除非另外指定,默认值为零。

Description :提供 XML Web services 方法的说明,该说明将显示在服务帮助页上。除非另外指定,默认值为空字符串。

EnableSession :启用 XML Web services 方法的会话状态。一旦启用,XML Web services 就可以从 HttpContext.Current.Session 中直接访问会话状态集合,或者,如果它是从 WebService 基类继承的,则可以使用 WebService.Session 属性来访问会话状态集合。除非另外指定,默认值为 false。

MessageName :使 XML Web services 能够唯一确定使用别名的重载方法。除非另外指定,默认值是方法名称。当指定 MessageName 时,结果 SOAP 消息将反映该名称,而不是实际的方法名称。

TransactionOption :使 XML Web services 方法可以作为事务的根对象参与。虽然可以将 TransactionOption 属性 (Property) 设置为 TransactionOption 枚举的任意值,但 XML Web services 方法仅有两个可能的行为:它不参与事务(Disabled、NotSupported、Supported)或它创建一个新事务(Required、RequiresNew)。除非另外指定,默认值为 TransactionOption.Disabled。

MSDN查询技巧

http://msdn.microsoft.com(谷歌搜索,后加site:msdn.microsoft.com) http://www.gfsoso.com/ 创建各种类型的控件类MSDN查找WC...
  • qq125096885
  • qq125096885
  • 2015年04月02日 00:49
  • 596

MSDN如何安装

MSDN如何安装 问题描述:
  • zshuaihua
  • zshuaihua
  • 2014年08月21日 10:16
  • 1967

VS2012使用 MSDN教程

VS2012安装默认只安装Help Viewer,如果想要安装文档的话,需要去官网下载。网址如右:https://www.microsoft.com/zh-CN/download/details.as...
  • liuyuehui110
  • liuyuehui110
  • 2017年06月15日 18:25
  • 552

在VS2010中安装MSDN

1.帮助中找“管理帮助设置” 2.第一次装msdn时让选择安装地点,要选个大点的盘安装,进入如下界面,选择从磁盘安装内容 3.选择msdn的位置,我的vs2010默...
  • wangbeibei23
  • wangbeibei23
  • 2015年11月21日 20:50
  • 588

如何使用MSDN获取API相关帮助

MSDN使用帮助 一 启动MSDN 启动方式1 通过开始菜单启动:     启动方式2 通过IDE的帮助菜单启动:   启动方式3 在开发环境中...
  • u013166875
  • u013166875
  • 2013年12月16日 21:50
  • 1574

MSDN值得学习的地方

作者:朱金灿来源:http://blog.csdn.net/clever101          我一直认为:如果你没有乔布斯那样的天才,能够从头脑中原创出好产品,那么最好先学习分析好的产品,它到底好...
  • clever101
  • clever101
  • 2016年01月25日 22:32
  • 1603

谈一下MSDN和下载原版windows7

一、关于MSDN网站和msdnitellyou MSDN 的全称是 Microsoft Developer Network。这是微软公司面向软件开发者的一种信息服务。MSDN 实际上是一个以 Vis...
  • liups
  • liups
  • 2016年02月05日 10:45
  • 3576

微软MSDN订阅介绍

可能大家对MSDN这个词比较陌生吧,偶尔做个系统下载镜像的时候会碰到MSDN版这个词汇,除此之外,对于MSDN再没有其他认识,今天我就为大家科普一下MSDN订阅。 先说一下我的MSDN订阅的来源...
  • xTheodore
  • xTheodore
  • 2014年08月05日 00:26
  • 997

MSDN的使用及VC6.0的调试

MSDN的使用及VC6.0的调试 1.MSDN的使用方法 1.1使用上下文关联帮助 按下F1键,可从MSDN库中得到上下文相关帮助。你选择一个基于当前窗口和光标位置的主题,同时你将看到包含上下文...
  • mitesi
  • mitesi
  • 2014年03月17日 22:43
  • 1947

小白探访WINDOWS下的驱动(二)MSDN的WINDOWS驱动知识的构成

前面已经找到了这次相关知识的源头。【Windows驱动程序工具包】 http://msdn.microsoft.com/library/windows/hardware/ff557573(v=vs.8...
  • u012362425
  • u012362425
  • 2014年12月31日 00:48
  • 499
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:WebServices基础知识(MSDN整理)
举报原因:
原因补充:

(最多只允许输入30个字)