public T Put <T>(AddressHeaderCreatorDelegate addressHeaderCreatorDelegate, HeaderCreatorDelegate headerCreatorCallback, object payload)
 {
     using (var ctx = new ClientContext <IWSTransferContract>(_endpointUri, _addressingVersion, _proxyFactory, addressHeaderCreatorDelegate))
     {
         headerCreatorCallback(OperationContext.Current.OutgoingMessageHeaders);
         Message response = ctx.Channel.Put(_factory.CreatePutRequest(payload));
         if (response.IsFault)
         {
             throw _faultHandler.HandleFault(response);
         }
         return((T)_factory.DeserializeMessageWithPayload(response, typeof(T)));
     }
 }
 public void Delete(AddressHeaderCreatorDelegate addressHeaderCreatorDelegate, HeaderCreatorDelegate headerCreatorCallback)
 {
     using (var ctx = new ClientContext <IWSTransferContract>(_endpointUri, _addressingVersion, _proxyFactory, addressHeaderCreatorDelegate))
     {
         headerCreatorCallback(OperationContext.Current.OutgoingMessageHeaders);
         Message response = ctx.Channel.Delete(_factory.CreateDeleteRequest());
         if (response.IsFault)
         {
             throw _faultHandler.HandleFault(response);
         }
     }
 }
示例#3
0
 public EndpointAddress Create(AddressHeaderCreatorDelegate addressHeaderCreatorDelegate, HeaderCreatorDelegate headerCreatorCallback, object payload)
 {
     using (ClientContext <IWSTransferContract> ctx = new ClientContext <IWSTransferContract>(_endpointUri, _addressingVersion, _proxyFactory, addressHeaderCreatorDelegate))
     {
         headerCreatorCallback(OperationContext.Current.OutgoingMessageHeaders);
         Message response = ctx.Channel.Create(_factory.CreateCreateRequest(payload));
         if (response.IsFault)
         {
             throw _faultHandler.HandleFault(response);
         }
         return(_factory.DeserializeCreateResponse(response));
     }
 }