zoukankan      html  css  js  c++  java
  • [转载]WCF 第十三章 可编程站点 使用WebGet和WebInvoke

    WCF 第十三章 可编程站点 使用WebGet和WebInvoke

            2011-06-07 07:09        by        DanielWise,        1807        阅读,        0评论,        收藏,        编辑

    服务可以使用WebHttpBinding以及WebGet或者WebInvoke属性来暴露。这些属性每一个都确定HTTP动作、消息格式以及需要暴露给一个操作的消息体形式。我们将检查这些属性的每一个并给出使用每个的原因。

    WebGet

    WebGet属性使用GET动词暴露操作。GET相对于其他HTTP动作有重要的优势。首先,通过在一个浏览器地址栏中输入服务URI可以直接地访问终结点。参数可以作为查询字符串或者编码字符串在URI中发送。其次,客户端以及其他下游系统比如代理服务器可以很容易地基于缓存策略来为服务缓存资源。由于缓存能力,WebGet属性应该只用来做收集用。

      列表13.6 显示了使用WebGet和WebInvoke属性定义的一个服务。WebGet属性用来收集客户信息。WebInvoke属性被用于那些修改数据的添加或者删除客户信息的操作。最后,在WebGet和WebInvoke属性上定义UriTemplate属性来使用URI定义一个自定义资源。

    列表13.6 CustomerService

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.ServiceModel;
    using System.ServiceModel.Web;
    namespace EssentialWCF
    {
        [ServiceContract]
        public class CustomerService
        {
            [OperationContract]
            [WebGet(UriTemplate = "/customer/{id}")]
            public Customer GetCustomer(int id)
            {
                Customer customer = null;
                //Get customer from database
                return customer;
            }
            [OperationContract]
            [WebInvoke(Method="PUT", UriTemplate="/customer/{id}")]
            public void PutCustomer(int id, Customer customer)
            {
                //Put customer in database
            }
            [OperationContract]
            [WebInvoke(Method="Delete", UriTemplate="/customer/{id}")]
            public void DeleteCustomer(int id)
            {
                //Put customer in database
            }
        }
    }
  • 相关阅读:
    简单的冒泡排序算法(java)
    寻找两个数组中的公共元素Java程序代码
    利用快速排序求两集合交集
    一种简单的吉布斯采样modify中应用
    递归生成小于某个数的所有集合
    卡拉曼算法简答程序
    模态对话框退出DoModal过程中需注意的陷阱
    是否可以使用空对象指针调用成员函数及访问成员变量
    windows c++如何使窗口动态改变位置
    windows的滚动条使用
  • 原文地址:https://www.cnblogs.com/fx2008/p/2783844.html
Copyright © 2011-2022 走看看