diff options
Diffstat (limited to 'csharp/src')
-rw-r--r-- | csharp/src/Ice/OutgoingAsync.cs | 5 | ||||
-rw-r--r-- | csharp/src/Ice/Proxy.cs | 6 |
2 files changed, 8 insertions, 3 deletions
diff --git a/csharp/src/Ice/OutgoingAsync.cs b/csharp/src/Ice/OutgoingAsync.cs index 887a31e03eb..9fbc4fb71f4 100644 --- a/csharp/src/Ice/OutgoingAsync.cs +++ b/csharp/src/Ice/OutgoingAsync.cs @@ -1176,6 +1176,11 @@ namespace IceInternal return AsyncStatusSent; } + public Ice.Connection getConnection() + { + return cachedConnection_; + } + public void invoke(string operation) { observer_ = ObserverHelper.get(proxy_, operation, null); diff --git a/csharp/src/Ice/Proxy.cs b/csharp/src/Ice/Proxy.cs index 9abcaa9e219..11a02af4b6e 100644 --- a/csharp/src/Ice/Proxy.cs +++ b/csharp/src/Ice/Proxy.cs @@ -2145,7 +2145,7 @@ namespace Ice result.throwLocalException(); if(responseCallback_ != null) { - responseCallback_.Invoke(getProxy().ice_getCachedConnection()); + responseCallback_.Invoke(((ProxyGetConnection)OutgoingAsync).getConnection()); } } @@ -2172,7 +2172,7 @@ namespace Ice public override bool handleResponse(bool ok, OutgoingAsyncBase og) { - SetResult(_proxy.ice_getCachedConnection()); + SetResult(((ProxyGetConnection)og).getConnection()); return false; } @@ -2211,7 +2211,7 @@ namespace Ice { var resultI = AsyncResultI.check(r, this, __ice_getConnection_name); resultI.wait(); - return ice_getCachedConnection(); + return resultI.getConnection(); } private AsyncResult<Callback_Object_ice_getConnection> begin_ice_getConnectionInternal(AsyncCallback callback, |