none
Problema al crear un servicio WCF : Error de servidor en la aplicación '/'. RRS feed

  • Pregunta

  • Saludos, estoy siguiendo un ejemplo de una pagina web y me sale este error

     

    Error de servidor en la aplicación '/'.

    No se pudo encontrar el tipo 'MyService.Service1' proporcionado como el valor del atributo Service en la directiva ServiceHost, o proporcionado en el elemento de configuración system.serviceModel/serviceHostingEnvironment/serviceActivations.

    Descripción: Excepción no controlada al ejecutar la solicitud Web actual. Revise el seguimiento de la pila para obtener más información acerca del error y dónde se originó en el código. 

    Detalles de la excepción: System.InvalidOperationException: No se pudo encontrar el tipo 'MyService.Service1' proporcionado como el valor del atributo Service en la directiva ServiceHost, o proporcionado en el elemento de configuración system.serviceModel/serviceHostingEnvironment/serviceActivations.

    Error de código fuente: 

    Se ha generado una excepción no controlada durante la ejecución de la solicitud Web actual. La información sobre el origen y la ubicación de la excepción pueden identificarse utilizando la excepción del seguimiento de la pila siguiente.

    Seguimiento de la pila: 

    [InvalidOperationException: No se pudo encontrar el tipo 'MyService.Service1' proporcionado como el valor del atributo Service en la directiva ServiceHost, o proporcionado en el elemento de configuración system.serviceModel/serviceHostingEnvironment/serviceActivations.]
      System.ServiceModel.Activation.ServiceHostFactory.CreateServiceHost(String constructorString, Uri[] baseAddresses) +51902
      System.ServiceModel.HostingManager.CreateService(String normalizedVirtualPath) +1440
      System.ServiceModel.HostingManager.ActivateService(String normalizedVirtualPath) +44
      System.ServiceModel.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath) +615
    
    [ServiceActivationException: El servicio '/Service1.svc' no se puede activar debido a una excepción durante la compilación. El mensaje de la excepción es: No se pudo encontrar el tipo 'MyService.Service1' proporcionado como el valor del atributo Service en la directiva ServiceHost, o proporcionado en el elemento de configuración system.serviceModel/serviceHostingEnvironment/serviceActivations..]
      System.Runtime.AsyncResult.End(IAsyncResult result) +679246
      System.ServiceModel.Activation.HostedHttpRequestAsyncResult.End(IAsyncResult result) +190
      System.ServiceModel.Activation.HostedHttpRequestAsyncResult.ExecuteSynchronous(HttpApplication context, String routeServiceVirtualPath, Boolean flowContext, Boolean ensureWFService) +234
      System.ServiceModel.Activation.HttpModule.ProcessRequest(Object sender, EventArgs e) +355
      System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +148
      System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75
    


    Información de versión: Versión de Microsoft .NET Framework:4.0.30319; Versión ASP.NET:4.0.30319.1

     

    El codigo que tengo es el siguiente

     

    ISERVICE1.VB

    Imports System
    Imports System.Collections.Generic
    Imports System.Linq
    Imports System.Runtime.Serialization
    Imports System.ServiceModel
    Imports System.ServiceModel.Web
    Imports System.Text
    
    Namespace MyService
      <ServiceContract()>
      Public Interface IService1
        <OperationContract()> _
        Function FindEmployee(ByVal uid As String) As List(Of PERSONAS)
    
      End Interface
    End Namespace

     

    SERVICE1.SVC

    Imports System
    Imports System.Collections.Generic
    Imports System.Linq
    Imports System.Runtime.Serialization
    Imports System.ServiceModel
    Imports System.ServiceModel.Web
    Imports System.Text
    
    Namespace MyService
      <ServiceContract()>
      Public Interface IService1
        <OperationContract()> _
        Function FindEmployee(ByVal uid As String) As List(Of PERSONAS)
    
      End Interface
    End Namespace

     

     

    He leido el error y si os fijais dice que no encuentra el servicio, pero no se cual es el fallo en el codigo

     

    GRACIAS

     

     

    miércoles, 22 de diciembre de 2010 21:27

Respuestas

Todas las respuestas

  • Hola, Enrique!

     

    El error lo que dice es que no encuentra la implementación del servicio.  Es decir la clase Service1 que debería implementar la interfaz IService1.

     

    Revisa que en efecto en el NameSpace MyService haya una clase pública llamada Service1 y que la misma sea una implementación de la interfaz IService1.

     

    Espero te sea de utilidad.

     

    Bendiciones!


    Si la respuesta te es de utilidad, recuerda marcarla como Respuesta y/o votarla como Útil. Así colaboras a que el foro esté organizado.
    jueves, 23 de diciembre de 2010 18:56
  • Muchas gracias por contestar, este tema me tiene desesperado

    Este es el codigo original en c# y mas abajo pongo su conversion a VB

    IService1.cs

    C#

     

    using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Runtime.Serialization;

    using System.ServiceModel;

    using System.ServiceModel.Web;

    using System.Text;

    using System.Collections.Generic;

     

    namespace MyService

    {

        [ServiceContract]

        public interface IService1

        {

            [OperationContract]

            List<MyEmployee> FindEmployee(string uid);

            
        }
    }

     

     

    Conversion a VB

     

    Imports System
    Imports System.Collections.Generic
    Imports System.Linq
    Imports System.Runtime.Serialization
    Imports System.ServiceModel
    Imports System.ServiceModel.Web
    Imports System.Text
    
    Namespace MyService
      <ServiceContract()>
      Public Interface IService1
        <OperationContract()> _
        Function FindEmployee(ByVal uid As String) As List(Of PERSONAS)
    
      End Interface
    End Namespace

     

     

    Service1.svc.cs

    C#

     

    using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Runtime.Serialization;

    using System.ServiceModel;

    using System.ServiceModel.Web;

    using System.Text;

    namespace MyService

    {

        public class Service1 : IService1

        {

            public List<MyEmployee> FindEmployee(string uid)

            {

                DataClasses1DataContext context = new DataClasses1DataContext();

                var res = from r in context.MyEmployees where r.EmpID == uid select r;

                return res.ToList();

            }

        }
    }

     

     

    VB

     

    Imports System.Collections.Generic
    Imports System.Linq
    Imports System.Runtime.Serialization
    Imports System.ServiceModel
    Imports System.ServiceModel.Web
    Imports System.Text
    
    Namespace MyService
      Public Class Service1
        Implements IService1
        Public Function FindEmployee(ByVal uid As String) As List(Of PERSONAS) Implements IService1.FindEmployee
          Dim context As New DataClasses1DataContext()
          Dim res = From r In context.PERSONAS Where r.NIF = uid
          Return res.ToList()
        End Function
    
      End Class
    End Namespace

     

    Lo unico que veo raro es esta linea Dim res = From r In context.PERSONAS Where r.NIF = uid le falta el Select r o algo asi

     

    Espero que me puedas ayudar

     

    GRACIAS

     

     

     

     

    jueves, 23 de diciembre de 2010 20:18
  • Hola, Enrique.

     

    Service.svc es un archivo y la implementación del contrato del servicio WCF otro.

     

    En Service1.cs o Service1.vb debe estar la implementación del contrato.

     

    Y en Service.svc algo así como:

    <%@ ServiceHost Language="C#" Debug="true" Service="MyService.Service1" %>

     

    Es que veo que al archivo donde se implementa el contrato le llamas Service1.svc.cs

     

    Bendiciones!


    Si la respuesta te es de utilidad, recuerda marcarla como Respuesta y/o votarla como Útil. Así colaboras a que el foro esté organizado.
    jueves, 23 de diciembre de 2010 21:11
  • Esta es la pantalla que tengo

     

    Image and video hosting by TinyPic
    jueves, 23 de diciembre de 2010 21:25
  • domingo, 26 de diciembre de 2010 20:53
  • Hola buena tarde 

    yo tengo el mismo problema entre comillas

    lo que quiero es publicar un servicio o archivo Service1.svc

    sin la necesidad de usar visual estudio 2010. yo que este lo hace sencillo pero solicita exenciones de from page.


    pero que pasa si no cuento con ellas  o tengo que pagar.

    miércoles, 3 de abril de 2013 23:25