WCF意外崩溃,方法不允许

时间:2012-06-13 07:53:45

标签: wcf c#-4.0

我的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”类型。

并将参数更改为我得到的字符串

方法不允许 任何想法如何解决

1 个答案:

答案 0 :(得分:2)

您只能使用字符串类型作为UriTemplate路由中的参数。在您的示例中,BookingIDinteger,它出现在路由中,因此无效。如果你移动BookingID来查询它们就会有效。

有关详细信息,请参阅此thread