WCF示例(2)

契约Contract(ServiceContract、OperationContract、DataContract、ServiceKnownType和DataMember)

介绍

WCF(Windows Communication Foundation) - 契约(Contract):服务契约(ServiceContract),操作契约(OperationContract),数据契约(DataContract),服务已知类型(ServiceKnownType),数据成员(DataMember)。

示例

1、服务

IPersonManager.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
  
using System.ServiceModel;
using System.Runtime.Serialization;
  
namespace WCF.ServiceLib.Contract
{
  /**//// <summary>
  /// 人员管理接口
  /// </summary>
  // Namespace - 服务契约的命名空间
  // Name - 服务契约的名称(会对应到相关的wsdl,默认情况下本例为接口名“IPersonManager”)
  // ConfigurationName - 服务契约在宿主中所配置的服务名称(默认情况下本例为类的全名“WCF.ServiceLib.Contract.IPersonManager”)
  [ServiceContract(Namespace = "http://webabcd.cnblogs.com", Name = "IPersonManager", ConfigurationName = "ConfigurationNameTest")]
  // 服务已知类型 - Student(数据契约)继承自Person(数据契约),要指定Student为已知类型,其才会被序列化
  [ServiceKnownType(typeof(Student))]
  public interface IPersonManager
  {
    /**//// <summary>
    /// 获取某人的姓名
    /// </summary>
    /// <param name="p">Person对象</param>
    /// <returns></returns>
    // Name - 操作契约的名称(会对应到相关的wsdl,默认情况下本例为方法名“GetName”)
    [OperationContract(Name="GetPersonName")]
    string GetName([MessageParameter(Name = "person")] Person p);
  }
}

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索数据
, 服务
, using
system
wcf 示例、wcf tcp示例、wcf https 示例、struts2入门示例教程、aria2配置示例,以便于您获取更多的相关知识。

时间: 2024-11-08 22:23:43

WCF示例(2)的相关文章

WCF示例(18)

介绍 WCF(Windows Communication Foundation) - Web编程模型:使用WCF创建REST服务,使用asp.net ajax调用WCF服务 ·System.ServiceModel.Activation.WebServiceHostFactory - 用于承载使用 WCF Web 编程模型的服务 ·System.ServiceModel.Activation.WebScriptServiceHostFactory - 能够向服务中自动添加 ASP.NET AJA

WCF示例(17)

介绍 WCF(Windows Communication Foundation) - 安全(Security):本文以用户名和密码做验证,通过X.509证书做加密为例 示例 1.证书 setup.bat makecert -sr LocalMachine -ss My -a sha1 -n CN=Webabcd -sky exchange -pe certmgr -add -r LocalMachine -s My -c -n Webabcd -s TrustedPeople 2.服务 IHel

WCF示例(15)

介绍 WCF(Windows Communication Foundation) - 可靠性消息(ReliableMessaging): ·通过重试的方法来保证消息的可靠传递,默认为8次 ·当配置了"有序传递"的时候,客户端和服务端会开辟缓冲区,服务端缓冲区在接到所有客户端发来的消息后,按照客户端调用的顺序排序各个消息,然后有序地调用服务端 示例 1.服务 IReliable.cs using System; using System.Collections.Generic; usin

WCF示例(14)

介绍 WCF(Windows Communication Foundation) - 事务(Transaction): ·对契约方法使用TransactionFlowAttribute声明(设置TransactionFlowOption参数),以指定服务操作的事务流策略 ·对服务方法是用OperationBehaviorAttribute声明(设置TransactionScopeRequired参数),以指定方法是否在事务范围(TransactionScope)内执行 ·配置host和clien

WCF示例(13)

并发控制(锁)(Mutex, Semaphore, Monitor, Lock, ThreadPool, Interlocked, ReaderWriterLock) 介绍 WCF(Windows Communication Foundation) - 并发控制:以ConcurrencyMode.Multiple并发模式及InstanceContextMode.Single实例模型为例(此时有并发问题),介绍如何做并发控制,即各种锁的使用(Mutex, Semaphore, Monitor, L

WCF示例(11)

介绍 WCF(Windows Communication Foundation) - 会话状态: ServiceContract ·SessionMode.Allowed - 指定当传入绑定支持会话时,协定也支持会话(默认值) ·SessionMode.Required - 指定协定需要会话绑定.如果绑定并未配置为支持会话,则将引发异常 ·SessionMode.NotAllowed - 指定协定永不支持启动会话的绑定 OperationContract ·IsInitiating - 获取或设

WCF示例(10)

介绍 WCF(Windows Communication Foundation) - 实例模型: ServiceBehavior ·InstanceContextMode.PerCall - 新的 System.ServiceModel.InstanceContext 对象在每次调用前创建,在调用后回收. ·InstanceContextMode.PerSession - 为每个会话创建一个新的 System.ServiceModel.InstanceContext 对象. ·InstanceC

WCF示例(9)

介绍 WCF(Windows Communication Foundation) - 序列化:本文分别以DataContractSerializer, XmlSerializer, DataContractJsonSerializer, SoapFormatter, BinaryFormatter为例. 示例 1.服务 DataContractSerializerObject.cs using System; using System.Collections.Generic; using Sys

WCF示例(8)

介绍 WCF(Windows Communication Foundation) - 消息处理:使用流数据传输文件,减少内存开销. 示例 1.服务 IStreamed.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.ServiceModel; using System.IO; namespace WCF.ServiceLib.Message

WCF示例(7)

介绍 WCF(Windows Communication Foundation) - 消息处理:MTOM(Message Transmission Optimization Mechanism) - 消息传输优化机制.本文以web方式上传大文件为例. 示例 1.服务 IMtom.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.ServiceM