zoukankan      html  css  js  c++  java
  • WebServices基础知识(MSDN整理)

         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.引用预编译的程序集中的代码: 
     1namespace Baosight.BPMS.DE.DP.BusinessLogic
     2
    {   
     3    ///       
     4    public class
     DeviceListServiceFacade :WebService, IDeviceListServiceFacade
     5    
    {
     6
           [WebMethod]
     7        public void
     UpdateDeviceChangeListHead(DeviceChangeListHead deviceChangeListHead)
     8        
    {
     9           ///
    10        }
      
    11
         
    12    }

    13}

    .asmx文件内容:
    1<%@ 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文件内容:
    1<%@ WebService Language="C#" CodeBehind="~/App_Code/Service.cs" Class="Service" %>
    3.包含于.asmx 文件本身:
     1<%@ WebService Language="C#" Class="CoreCommonWebService" %>
     2using System;
     3
    using System.Web;
     4
    using System.Web.Services;
     5
    using System.Web.Services.Protocols;
     6

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

    11
        [WebMethod]
    12
        public bool IsAutoFlow(string userId, string workflowName, string taskId, string stepPolicy)
    13
        {
    14
            return Baosight.BPMS.Core.Adapter.WorkflowHelper.IsAutoFlow(userId, workflowName, taskId, stepPolicy);
    15
        }
    16}
    二:使用 WebService 属性
       可以使用 WebService 属性指定命名空间(默认为“http://tempuri.org”)和 XML Web services 的说明文本。默认情况下,ASP.NET Web 服务项目模板不生成包含该属性的类。用逗号分隔多个属性。如下所示意:
    1[System.Web.Services.WebService(Namespace="http://servername/xmlwebservices/"
    2   Description="Some descriptive text could go here."
    )] 
    3public class
     Service1 : System.Web.Services.WebService
    4

    5    // Implementation code.

    6}

    三:使用 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。

  • 相关阅读:
    P4127 [AHOI2009]同类分布
    区间DP
    P3146 [USACO16OPEN]248
    P1241 括号序列
    P2858 [USACO06FEB]奶牛零食Treats for the Cows
    P2602 [ZJOI2010]数字计数&P1239 计数器&P4999 烦人的数学作业
    数位DP
    jquery生成元素注册事件无效,及事件委托的使用
    Jquery ajax运用执行顺序有误怎么解决
    html页面输入框input的美化
  • 原文地址:https://www.cnblogs.com/jiangshaofen/p/918726.html
Copyright © 2011-2022 走看看