I'm building a litle component that to connect with a Oracle Database, when this component to connect, this should return the OracleConnection Object , but when I call de conectar function this return the follow message
System.Runtime.Remoting.Proxies.__TransparentProxy = {System.Runtime.Remoting.Proxies.__TransparentProxy}
This remote proxy don't has a channel receiver...
The Component code is:
The cliente Code is:
Could you help me please and Sorry by my english
System.Runtime.Remoting.Proxies.__TransparentProxy = {System.Runtime.Remoting.Proxies.__TransparentProxy}
This remote proxy don't has a channel receiver...
The Component code is:
VB.NET:
Imports system.Data.OracleClient
Imports system.Data.OracleClient.OracleType
Imports System.Runtime.CompilerServices
Imports System.Reflection
Imports System.EnterpriseServices
Imports System.Runtime.InteropServices
Imports System.Runtime.Remoting
Imports System.Runtime.InteropServices.ComTypes
<Assembly: ApplicationName("TTransaction")>
<Assembly: ApplicationActivation(ActivationOption.Server)>
<ComponentAccessControl(True), _
SecurityRole("Administrador"), _
SecurityRole("Invitado", True)> _
<Synchronization(SynchronizationOption.Required), JustInTimeActivation(True), ObjectPooling(True, 1, 30)> _
<ClassInterface(ClassInterfaceType.AutoDual)> _
<EventTrackingEnabled(True)> _
Public Class clTransact
Inherits ServicedComponent
Dim ocConecction As OracleConnection
Dim intEstadoConexion As Integer = 0
<AutoComplete(True)> _
<ComVisible(True)> _
Public Function Conectar(ByVal strUserId As String, _
ByVal strPassword As String, _
ByVal strDataSource As String) As OracleConnection
Try
Dim config As New ServiceConfig()
config.TrackingEnabled = True
config.TrackingAppName = "TTransaction"
config.TrackingComponentName = "TTransaction"
config.Transaction = TransactionOption.Required
config.IsolationLevel = TransactionIsolationLevel.Serializable
config.SxsName = "TisalTransaction"
config.SxsDirectory = My.Application.Info.DirectoryPath
ServiceDomain.Enter(config)
ocConecction.ConnectionString = "Data source=" & strDataSource & "; User Id=" & strUserId & ";pASSWORD=" & strPassword
ocConecction.Open()
ContextUtil.SetComplete()
Catch ex As OracleException
ContextUtil.SetAbort()
Finally
intEstadoConexion = ocConecction.State
ServiceDomain.Leave()
End Try
Return ocConecction
End Function
The cliente Code is:
VB.NET:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim objRemote As ObjectHandle
objRemote = System.Activator.CreateInstanceFrom("TTransaction.dll", "TTransaction.clTransact")
Dim objCurr As Object = objRemote.Unwrap()
Dim oc As OracleConnection = objCurr.Conectar("DESA", "DESA", "DESA")
Debug.Print(oc.state())
End Sub
Last edited by a moderator: