我正在創建一個wcf自託管服務。我正在使用UriTemplate類來自定義方法的url。下面在WCF服務中傳遞用戶定義的參數導致問題
public interface ISelfService
{
[WebInvoke(Method = "POST", UriTemplate = "ack/{errorcode}/{uniquefileid}")]
[OperationContract]
void Ack(ErrorCode errorcode, string uniquefileid);
[WebInvoke(Method = "POST", UriTemplate = "filechanged/{metainfo}")]
[OperationContract]
void FileChanged(MetaInformation metainfo);
}
每當我運行這個程序,我在合同「ISelfHostService」收到以下錯誤
操作「FileChanged」的代碼片段給出了一個查詢 變量命名爲「元信息」類型的'Natash.Common.MetaInformation', ,但類型'Natash.Common.MetaInformation'不能通過 'QueryStringConverter'轉換。爲UriTemplate查詢的值的變量必須 已經種可以通過轉換「QueryStringConverter」
任何一個可以告訴我,爲什麼會出現這種情況?
而且,我還沒有對web.config文件進行任何修改。我需要在那裏做任何修改嗎?
元信息定義如下
[DataContract]
public struct MetaInformation
{
[DataMember]
public string Author { get; set; }
[DataMember]
public string tags { get; set; }
[DataMember]
public string categories { get; set; }
[DataMember]
public string description { get; set; }
}
我相信,你的類型是不可自由兌換。 –