关闭

WCF之“有零个操作;协定必须至少有一个操作”

2380人阅读 评论(0) 收藏 举报

今天在进行WCF宿主中“OpenHost”突然出现异常,异常信息如下:

ContractDescription“***”有零个操作;协定必须至少有一个操作。

英文类似:
ContractDescription '***' has zero operations; a contract must have at least one operation.

 

说来也怪,在批量“OpenHost”过程中这个异常却发生在中间某个类型上,其它大部分操作都是依葫芦画瓢进行的,对照了代码、配置文件,一直没有发现什么大问题。“google”一下结果是出来不少,却始终没发现想要的答案。

 

没办法,抛开自已的工程,看系统自已生的WCF服务是怎样。一对比,发现原来我犯了个低级错误。

在定义服务接口的时候没加“[OperationContract]“。

 

想想也是在开发过程中我们常常会先绕过WCF分布式应用,而先实现接口,但在应用时却简单的加上了[ServiceContract(Name = "**")],但接口函数上却没加“[OperationContract]“,这样可能导致运行时出现前面所说的异常。

 

当然,在我的实践中有些服务没加也照样能运行,其中原委有待细究,在此提醒大家还是按规范来,免得出错了不知从何着手。

 

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:6135次
    • 积分:78
    • 等级:
    • 排名:千里之外
    • 原创:2篇
    • 转载:0篇
    • 译文:0篇
    • 评论:2条
    文章分类
    文章存档
    最新评论