您的位置:知识库 » .NET技术

WCF分布式开发步步为赢(5)服务契约与操作重载

作者: Frank Xu Lei  来源: 博客园  发布时间: 2009-04-06 12:08  阅读: 6711 次  推荐: 0   原文链接   [收藏]  

   【2】操作重载:

   【2.1】操作重载:

    WCF服务支持核心的Web 服务协议,同样其元数据交换也是基于XML语言描述,客户端通过WSDL文件来了解服务方法相关的信息,包括参数的个数、类型、返回值、调用顺序等重要信息。由于WSDL不支持方法的重载,因此我们的WCF服务操作重载就无法通过WSDL暴露给客户端。如果我们在服务契约里定义了方法的重载,编译可以正常通过,但是启动服务宿主就会抛出System.InvalidOperationException异常,如下图:

    因此我们不能在WCF服务内定义和实现方法重载,否则无法暴露为服务操作。

   【2.2】解决办法:

   WCF给我们提供了一个解决办法,让我们可以在WCF服务类里使用服务操作的重载。WCF定义了一个机制OperationContract,使用OperationContract特性的Name属性,为操作指定别名:

[AttributeUsage(AttributeTargets.Method)]
public sealed class OperationContractAttribute : Attribute
{
   
public string Name
   {
get;set;}

   
//更多成员

}

0
0
 
标签:WCF

.NET技术热门文章

    .NET技术最新文章

      最新新闻

        热门新闻