Я знаю, что когда вы создаете сервис, вы можете создать общий DataContract:
[DataContract(Name = "Get{0}Request")
public sealed class GetItemRequest<T>
where T : class, new() { ... }
[DataContract(Name = "Get{0}Response")
public sealed class GetItemResponse<T>
where T : class, new() { ... }
[ServiceContract]
public void MyService : IMyService
{
[OperationContract]
GetItemResponse<Foo> GetItem(GetItemRequest<Foo> request);
}
Это генерирует определения GetFooRequest
и GetFooResponse
для моего WSDL.Что меня интересует, так это то, можно ли идти в другом направлении?
Можно ли создать клиент, который использует общие DataContracts, и передать их на сервер как конкретный объект?Я попытался сделать это после добавления ссылки на сервис, и это не очень хорошо сработало.Так что меня больше интересует, есть ли способ (даже если это означает не добавлять ссылку на сервис) для этого?