Hallo,
ich hab eine c++ dll in mein Projekt eingebunden...das funktioniert auch soweit aber im Zusammenhang mit WCF erhalte ich nun eine CallbackException... und komme nicht darauf, wo der Fehler liegt...(das Projekt läuft mit
im Vertrag) Da ich schon herausgefunden habe, dass Asynchron und Callback nicht zusammen funktioniert vermute ich hier den Fehler...
das ist die detaillierte Fehlermeldung...
beim Aufruf dieses Codeabschnitts erfolgt der Abbruch und der Fehler wird gemeldet... der Code wird aufgerufen, nachdem der Client beim Server angefragt hat und nun die Rückmeldung erwartet
ich hab eine c++ dll in mein Projekt eingebunden...das funktioniert auch soweit aber im Zusammenhang mit WCF erhalte ich nun eine CallbackException... und komme nicht darauf, wo der Fehler liegt...(das Projekt läuft mit
System.Runtime.CallbackException wurde nicht behandelt.
HResult=-2146233087
Message=Ein asynchroner Rückruf hat eine Ausnahme ausgelöst.
Source=System.ServiceModel.Internals
StackTrace:
bei System.Runtime.AsyncResult.Complete(Boolean completedSynchronously)
bei System.Runtime.AsyncResult.Complete(Boolean completedSynchronously, Exception exception)
bei System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.CallComplete(Boolean completedSynchronously, Exception exception)
bei System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.FinishSend(IAsyncResult result, Boolean completedSynchronously)
bei System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.SendCallback(IAsyncResult result)
bei System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result)
bei System.Runtime.AsyncResult.Complete(Boolean completedSynchronously)
bei System.ServiceModel.Dispatcher.DuplexChannelBinder.AsyncDuplexRequest.Done(Boolean completedSynchronously)
bei System.ServiceModel.Dispatcher.DuplexChannelBinder.AsyncDuplexRequest.GotReply(Message reply)
bei System.ServiceModel.Dispatcher.DuplexChannelBinder.HandleRequestAsReplyCore(Message message)
bei System.ServiceModel.Dispatcher.DuplexChannelBinder.HandleRequestAsReply(Message message)
bei System.ServiceModel.Dispatcher.ChannelHandler.HandleRequestAsReply(RequestContext request)
bei System.ServiceModel.Dispatcher.ChannelHandler.HandleRequest(RequestContext request, OperationContext currentOperationContext)
bei System.ServiceModel.Dispatcher.ChannelHandler.AsyncMessagePump(IAsyncResult result)
bei System.ServiceModel.Dispatcher.ChannelHandler.OnAsyncReceiveComplete(IAsyncResult result)
bei System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result)
bei System.Runtime.AsyncResult.Complete(Boolean completedSynchronously)
bei System.Runtime.AsyncResult.Complete(Boolean completedSynchronously, Exception exception)
bei System.ServiceModel.Channels.TransportDuplexSessionChannel.TryReceiveAsyncResult.OnReceive(IAsyncResult result)
bei System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result)
bei System.Runtime.AsyncResult.Complete(Boolean completedSynchronously)
bei System.Runtime.AsyncResult.Complete(Boolean completedSynchronously, Exception exception)
bei System.ServiceModel.Channels.SynchronizedMessageSource.SynchronizedAsyncResult`1.CompleteWithUnlock(Boolean synchronous, Exception exception)
bei System.ServiceModel.Channels.SynchronizedMessageSource.ReceiveAsyncResult.OnReceiveComplete(Object state)
bei System.ServiceModel.Channels.SessionConnectionReader.OnAsyncReadComplete(Object state)
bei System.ServiceModel.Channels.SocketConnection.FinishRead()
bei System.ServiceModel.Channels.SocketConnection.OnReceiveAsync(Object sender, SocketAsyncEventArgs eventArgs)
bei System.ServiceModel.Channels.SocketConnection.OnReceiveAsyncCompleted(Object sender, SocketAsyncEventArgs e)
bei System.Net.Sockets.SocketAsyncEventArgs.OnCompleted(SocketAsyncEventArgs e)
bei System.Net.Sockets.SocketAsyncEventArgs.FinishOperationSuccess(SocketError socketError, Int32 bytesTransferred, SocketFlags flags)
bei System.Net.Sockets.SocketAsyncEventArgs.CompletionPortCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* nativeOverlapped)
bei System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP)
InnerException: System.ServiceModel.FaultException
HResult=-2146233087
Message=Der Server konnte die Anforderung aufgrund eines internen Fehlers nicht verarbeiten. Wenn Sie weitere Informationen zum Fehler erhalten möchten, aktivieren Sie entweder IncludeExceptionDetailInFaults (über das ServiceBehaviorAttribute oder das <serviceDebug>-Konfigurationsverhalten) für den Client, um die Ausnahmeinformationen zurück an den Server zu senden, oder aktivieren Sie die Ablaufverfolgung gemäß der Microsoft .NET Framework SDK-Dokumentation, und überprüfen Sie die Serverablaufverfolgungsprotokolle.
Source=mscorlib
Action=http://schemas.microsoft.com/net/2005/12/windowscommunicationfoundation/dispatcher/fault
StackTrace:
Server stack trace:
bei System.ServiceModel.Channels.ServiceChannel.ThrowIfFaultUnderstood(Message reply, MessageFault fault, String action, MessageVersion version, FaultConverter faultConverter)
bei System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation, ProxyRpc& rpc)
bei System.ServiceModel.Channels.ServiceChannel.EndCall(String action, Object[] outs, IAsyncResult result)
bei System.ServiceModel.Channels.ServiceChannelProxy.InvokeEndService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
bei System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
Exception rethrown at [0]:
bei System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
bei System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
bei Vertrag.IvertragAsynchron.EndDoIt(IAsyncResult result)
bei Client.Viewmodel.MainModel.<OnStart>b__0(IAsyncResult asyncResult) in c:\Users\Musterle\Desktop\TestfürDll\AsynchronesWCF\AsynchronesWCF\Client\Viewmodel.cs:Zeile 120.
bei System.Runtime.AsyncResult.Complete(Boolean completedSynchronously)
InnerException:
das ist die detaillierte Fehlermeldung...
beim Aufruf dieses Codeabschnitts erfolgt der Abbruch und der Fehler wird gemeldet... der Code wird aufgerufen, nachdem der Client beim Server angefragt hat und nun die Rückmeldung erwartet