none
Error en creacion de Service component RRS feed

  • Pregunta

  • He copiado estos programas de una separata de un curso, para crear un service component, es una solucion SyncDemo en visual studio 2005

    con un proyecto aplicacion windows llamado ClienteSyncDemo

    y otro proyecto tipo de biblioteca de clases llamado Syncdemo

    el programa de el formulario ClienteSyncdemo

    es este

     

    Public Class Ejecutar

     

     

        Private Sub btnEjecutar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEjecutar.Click

            Try

                Dim objWorker1 As New SyncDemo.Worker1()

                objWorker1.Metodo1("d:\longsync.txt")

     

                Dim objWorker2 As New SyncDemo.Worker2()

                objWorker2.Metodo2("d:\longsync.txt")

     

                MsgBox("Ejecutcion terminada")

     

            Catch ex As Exception

     

                MsgBox("Se ha producido el siguiente error: " & _

                        ex.Message)

     

            End Try

        End Sub

    End Class

    ESTE ES EL CODIGO DE EL PROYECTO DE BIBLIOTECA DE CLASES SyncDemo
    Imports System.IO
    Module Funciones
        Public Sub EscribirLog(ByVal ruta As String, ByVal texto As String)
            Dim fs As New FileStream(ruta, FileMode.Append, FileAccess.Write)
            Dim sw As New StreamWriter(fs)
            sw.WriteLine(texto)
            sw.Close()
            fs.Close()
        End Sub
    End Module
    -------------

     

    Imports System.EnterpriseServices

     

    <Assembly: ApplicationName("Demo2")> 

    <Assembly: ApplicationActivation(ActivationOption.Server)> 

    <JustInTimeActivation(True), _

    Synchronization(SynchronizationOption.Required)> _

    Public Class Worker1

        Inherits ServicedComponent

        <AutoComplete(True)> _

        Public Sub Metodo1(ByVal pStrRuta As String)

            EscribirLog(pStrRuta, _

                "Metodo1 Worker1 - " & ContextUtil.ActivityId.ToString)

            Dim w2 As New worker2()

            w2.Metodo2(pStrRuta)

        End Sub

     

    End Class

    -----------

    Imports System.EnterpriseServices

    <JustInTimeActivation(True), _

    Synchronization(SynchronizationOption.Required)> _

    Public Class Worker2

        Inherits ServicedComponent

     

        <AutoComplete(True)> _

        Public Sub Metodo2(ByVal pStrRuta As String)

            EscribirLog(pStrRuta, _

                        "Metodo2 Worker2 - " & ContextUtil.ActivityId.ToString)

            Dim w3 As New Worker3()

            w3.Metodo3(pStrRuta)

        End Sub

     

    End Class

    -------------------------

    Imports System.EnterpriseServices

    <JustInTimeActivation(True), _

    Synchronization(SynchronizationOption.Required)> _

    Public Class Worker3

        Inherits ServicedComponent

     

        <AutoComplete(True)> _

        Public Sub Metodo3(ByVal pStrRuta As String)

     

            EscribirLog(pStrRuta, _

                "Metodo3 Worker3 - " & ContextUtil.ActivityId.ToString)

        End Sub

     

    End Class

    ------------
    Y al tratar de ejecutarlo me sale este error en una ventana de encabezado "Cliente Syncdemo"
    "Se ha producido el siguiente error: Se han encontrado clases derivadas de Serviced Component en el ensamblado(Las clases deben ser publicas, concretas, tener constructor publico predeterminado y cumplir los requisitos Comvisibility)"

    Hasta ahora lo veo todo bien soy nuevo en esto, como corrijo el error?
    Gracias
    Luis

    miércoles, 4 de agosto de 2010 17:57

Todas las respuestas

  • hola

    por alguna razon es que estas definiendo el Imports System.EnterpriseServices ?

    me lo pregunto potrque pareciera que ese componetne esta diseñado para ser compatible con COM, pero es necesario que sea asi ?  vas a utilizarlo en COM quizas con VB6 a ese cmponente que estas desarrollando, o solo con .net

    por ahi podrias quitar la logica que necesita que el componetne use la funcionalidad de  EnterpriseServices

     

    sludos

     


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    miércoles, 4 de agosto de 2010 18:21
  • Si , es necesario que sea asi , compatible con COM+ , pues estoy aprendiendo como crear Serviced Components

    Luis

    miércoles, 4 de agosto de 2010 20:15