我正在开发WCF服务,其中一些类具有该[MessageContract]属性,而一些类则没有.
当我尝试运行服务时,我收到以下错误消息:
无法加载操作"ProcessOperation",因为它具有System.ServiceModel.Channels.Message类型的参数或返回类型,或具有MessageContractAttribute的类型和不同类型的其他参数.使用System.ServiceModel.Channels.Message或使用MessageContractAttribute类型时,该方法不得使用任何其他类型的参数.
这是否意味着所有服务必须具备,[MessageContract]尽管它们不相关?
fae*_*ter 14
不,这意味着您在方法上有多个参数,其中一些不是消息.尝试将界面发布到您的服务.
这篇博客文章解释说:
...问题是消息合同不能与其他参数类型同时使用.在这种情况下,操作的返回值是一个字符串.返回值只是另一个输出参数,因此此操作将消息协定消息与基本参数类型混合.这会失败,因为消息协定使您可以控制SOAP消息的布局,从而防止系统在这些附加参数中进行融合.
重要的提示:
顺便说一下,当您尝试混合消息合同时获得的错误消息如下所示.
| 归档时间: |
|
| 查看次数: |
21177 次 |
| 最近记录: |