消息合约:全面控制服务消息
1. 消息合约基础与服务实现
消息合约是一种强大的工具,用于精确控制服务消息的格式,包括自定义消息头和单独的消息体元素。在使用消息合约前,需要明确一些基本规则,例如消息头元素必须是有效的数据合约或可序列化类型。
1.1 在服务中实现消息合约
为了在服务中使用新的消息合约,需要对服务操作的签名进行修改。以SaveGig()和GetGig()操作为例,具体步骤如下:
1. 打开GigManager项目中的GigManagerService.cs文件,修改服务合约IGigManagerService,使其操作签名如下:
[OperationContract] SaveGigResponse SaveGig(SaveGigRequest requestMessage); [OperationContract] GetGigResponse GetGig(GetGigRequest requestMessage);- 修改服务实现,使用消息合约来访问参数和生成返回值。
SaveGig()方法的实现示例如下:
public SaveGigResponse SaveGig(SaveGigRequest requ