我的WCF网络服务有这样的合同
[OperationContract]
void UpdateEncounterStatus(int BookingID, string BookingStatus);
并在班级
[WebInvoke(Method = "POST",
ResponseFormat = WebMessageFormat.Json,
UriTemplate = "UpdateEncounterStatus/{BookingID}/{BookingStatus}")]
public void UpdateEncounterStatus(int BookingID, string BookingStatus)
但是在打电话的时候,我得到了
合同'IPMA'中的'UpdateEncounterStatus'操作有一个名为'BookingID'的路径变量,它没有'string'类型。 UriTemplate路径段的变量必须具有“string”类型。
并将参数更改为我得到的字符串
方法不允许 任何想法如何解决
答案 0 :(得分:2)
您只能使用字符串类型作为UriTemplate
路由中的参数。在您的示例中,BookingID
为integer
,它出现在路由中,因此无效。如果你移动BookingID
来查询它们就会有效。
有关详细信息,请参阅此thread。