У меня есть следующие методы WCF:
[OperationContract]
array<Object^>^ GetResult(UInt64 taskId);
[OperationContract]
array<UrlInfo^>^ GetResultAsUriInfo(UInt64 taskId);
, когда я возвращаю массив строк через GetResult, он работает нормально.Также, когда я возвращаю массив UrlInfo через GetResultAsUriInfo, он работает без проблем.Однако, когда я пытаюсь вернуть appay UrlInfo через GetResult, я получаю следующее исключение на стороне клиента:
The communication object, System.ServiceModel.Channels.ServiceChannel, cannot be
used for communication because it is in the Faulted state.
внутреннее исключение равно нулю.
Вот определение для UrlInfo:
[Serializable]
[DataContract]
public class UrlInfo
{
Uri uri;
[DataMember]
public Uri Uri
{
get { return uri; }
set { uri = value; }
}
string title;
[DataMember]
public string Title
{
get { return title; }
set { title = value; }
}
string description;
[DataMember]
public string Description
{
get { return description; }
set { description = value; }
}
List<string> tags = new List<string>();
[DataMember]
public List<string> Tags
{
get { return tags; }
set { tags = value; }
}
Dictionary<string, string> allMetadata = new Dictionary<string, string>();
[DataMember]
public Dictionary<string, string> AllMetadata
{
get { return allMetadata; }
set { allMetadata = value; }
}
string[] categoryPreferences = new string[0];
[DataMember]
public string[] CategoryPreferences
{
get { return categoryPreferences; }
set { categoryPreferences = value; }
}
Почему я не могу вернуть массив UrlInfo как массив объектов?