void MainPageLoaded(object sender, RoutedEventArgs e) { // Simple Version var basicHttpBinding = new BasicHttpBinding(); var endpointAddress = new EndpointAddress("http://localhost:50738/UserGroupEvent.svc"); var userGroupEventService = new ChannelFactory<IAsyncUserGroupEventService>(basicHttpBinding, endpointAddress).CreateChannel(); AsyncCallback asyncCallBack = delegate(IAsyncResult result) { var response = ((IAsyncUserGroupEventService)result.AsyncState).EndGetUserGroupEvent(result); Dispatcher.BeginInvoke(() => SetUserGroupEventData(response)); }; userGroupEventService.BeginGetUserGroupEvent("123", asyncCallBack, userGroupEventService); // Deluxe Variante mit eigenem Proxy var channel = new UserGroupEventServiceProxy("BasicHttpBinding_IAsyncUserGroupEventService").Channel; channel.BeginGetUserGroupEvent("123", ProcessResult, channel); // Variante mit Faulthandler using (var scope = new OperationContextScope((IContextChannel)channel)) { var messageHeadersElement = OperationContext.Current.OutgoingMessageHeaders; messageHeadersElement.Add(MessageHeader.CreateHeader("DoesNotHandleFault", "", true)); channel.BeginGetUserGroupEventWithFault("123", ProcessResultWithFault, channel); } }