none
Intentado hacer un Webserver pero al conectarlo al winform me da error RRS feed

  • Pregunta

  • Hola quiero hacer un web server o servicio web de conexión a los datos de obtención  de los datagrid como ingreso, modificación y eliminación de datos desde Web Server a la base de datos y el sistema, pero al hacer la conexión me dice que hay un error de los Metadatas, no le he hecho nada ni cambiado los nombre solo he agregado la solución la aplicación   de Servicio WCF,y sale este error al agregarlo a las Referencias de servicios, me pueden guiar Gracias le transcribo los codigos 

    Iservice1.svc

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Runtime.Serialization;
    using System.ServiceModel;
    using System.ServiceModel.Web;
    using System.Text;
    
    namespace WcfService1
    {
        // NOTA: puede usar el comando "Rename" del menú "Refactorizar" para cambiar el nombre de interfaz "IService1" en el código y en el archivo de configuración a la vez.
        [ServiceContract]
        public interface IService1
        {
    
            [OperationContract]
            string GetData(int value);
    
            [OperationContract]
            CompositeType GetDataUsingDataContract(CompositeType composite);
    
            // TODO: agregue aquí sus operaciones de servicio
        }
    
    
        // Utilice un contrato de datos, como se ilustra en el ejemplo siguiente, para agregar tipos compuestos a las operaciones de servicio.
        [DataContract]
        public class CompositeType
        {
            bool boolValue = true;
            string stringValue = "Hello ";
    
            [DataMember]
            public bool BoolValue
            {
                get { return boolValue; }
                set { boolValue = value; }
            }
    
            [DataMember]
            public string StringValue
            {
                get { return stringValue; }
                set { stringValue = value; }
            }
        }
    }
    


    Service 1.svc

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Runtime.Serialization;
    using System.ServiceModel;
    using System.ServiceModel.Web;
    using System.Text;
    
    namespace WcfService1
    {
        // NOTA: puede usar el comando "Rename" del menú "Refactorizar" para cambiar el nombre de clase "Service1" en el código, en svc y en el archivo de configuración.
        // NOTE: para iniciar el Cliente de prueba WCF para probar este servicio, seleccione Service1.svc o Service1.svc.cs en el Explorador de soluciones e inicie la depuración.
        public class Service1 : IService1
        {
            public string GetData(int value)
            {
                return string.Format("You entered: {0}", value);
            }
    
            public CompositeType GetDataUsingDataContract(CompositeType composite)
            {
                if (composite == null)
                {
                    throw new ArgumentNullException("composite");
                }
                if (composite.BoolValue)
                {
                    composite.StringValue += "Suffix";
                }
                return composite;
            }
        }
    }
    

    Lei un articulo en la web que puede ser  esto  al cambiar los nombre del iservice1.svc

    <%@ ServiceHost Language="C#" Debug="true" Service="WcfService1.Service1" CodeBehind="Service1.svc.cs" %>
    
    debes cambiar este Service="WcfService1.Service1"
    Ojala me ayuden le dejo el error que me sale gracias 
    El error
    
    Error al descargar 'http://localhost:53323/WSConexion.svc/$metadata'.
    Error de solicitud con el siguiente mensaje de error:
    --
    <!DOCTYPE html>
    <html>
        <head>
            <title>ServiceHost sólo admite tipos de servicio de clase.</title>
            <meta name="viewport" content="width=device-width" />
            <style>
             body {font-family:"Verdana";font-weight:normal;font-size: .7em;color:black;} 
             p {font-family:"Verdana";font-weight:normal;color:black;margin-
             b {font-family:"Verdana";font-weight:bold;color:black;margin-
             H1 { font-family:"Verdana";font-weight:normal;font-size:18pt;color:red }
             H2 { font-family:"Verdana";font-weight:normal;font-size:14pt;color:maroon }
             pre {font-family:"Consolas","Lucida Console",Monospace;font-size:11pt;margin:0;padding:0.5em;line-height:14pt}
             .marker {font-weight: bold; color: black;text-decoration: none;}
             .version {color: gray;}
             .error {margin-bottom: 10px;}
             .expandable { text-decoration:underline; font-weight:bold; color:navy; cursor:pointer; }
             @media screen and (max-width: 639px) {
              pre { width: 440px;  white-space: pre-wrap; word-wrap: break-word; }
             }
             @media screen and (max-width: 479px) {
              pre { width: 280px; }
             }
            </style>
        </head>
    
        <body bgcolor="white">
    
                <span><H1>Error de servidor en la aplicación '/'.<hr width=100% size=1 color=silver></H1>
    
                <h2> <i>ServiceHost sólo admite tipos de servicio de clase.</i> </h2></span>
    
                <font face="Arial, Helvetica, Geneva, SunSans-Regular, sans-serif ">
    
                <b> Descripción: </b>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.
    
                <br><br>
    
                <b> Detalles de la excepción: </b>System.ArgumentException: ServiceHost sólo admite tipos de servicio de clase.<br><br>
    
                <b>Error de código fuente:</b> <br><br>
    
                <table width=100% bgcolor="#ffffcc">
                   <tr>
                      <td>
                          <code>
    
    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.                      </code>
    
                      </td>
                   </tr>
                </table>
    
                <br>
    
                <b>Seguimiento de la pila:</b> <br><br>
    
                <table width=100% bgcolor="#ffffcc">
                   <tr>
                      <td>
                          <code><pre>
    
    [ArgumentException: ServiceHost sólo admite tipos de servicio de clase.]
       System.ServiceModel.Description.ServiceDescription.GetService(Type serviceType) +13488110
       System.ServiceModel.ServiceHost.CreateDescription(IDictionary`2& implementedContracts) +60
       System.ServiceModel.ServiceHostBase.InitializeDescription(UriSchemeKeyedCollection baseAddresses) +148
       System.ServiceModel.ServiceHost.InitializeDescription(Type serviceType, UriSchemeKeyedCollection baseAddresses) +49
       System.ServiceModel.ServiceHost..ctor(Type serviceType, Uri[] baseAddresses) +153
       System.ServiceModel.Activation.ServiceHostFactory.CreateServiceHost(Type serviceType, Uri[] baseAddresses) +34
       System.ServiceModel.Activation.ServiceHostFactory.CreateServiceHost(String constructorString, Uri[] baseAddresses) +538
       System.ServiceModel.HostingManager.CreateService(String normalizedVirtualPath, EventTraceActivity eventTraceActivity) +1489
       System.ServiceModel.HostingManager.ActivateService(ServiceActivationInfo serviceActivationInfo, EventTraceActivity eventTraceActivity) +53
       System.ServiceModel.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath, EventTraceActivity eventTraceActivity) +666
    
    [ServiceActivationException: El servicio '/WSConexion.svc' no se puede activar debido a una excepción durante la compilación. El mensaje de la excepción es: ServiceHost sólo admite tipos de servicio de clase..]
       System.Runtime.AsyncResult.End(IAsyncResult result) +513025
       System.ServiceModel.Activation.HostedHttpRequestAsyncResult.End(IAsyncResult result) +182
       System.ServiceModel.Activation.ServiceHttpHandler.EndProcessRequest(IAsyncResult result) +12
       System.Web.CallHandlerExecutionStep.InvokeEndHandler(IAsyncResult ar) +161
       System.Web.CallHandlerExecutionStep.OnAsyncHandlerCompletion(IAsyncResult ar) +128
    </pre>                      </code>
    
                      </td>
                   </tr>
                </table>
    
                <br>
    
                <hr width=100% size=1 color=silver>
    
                <b>Información de versión:</b> Versión de Microsoft .NET Framework:4.0.30319; Versión ASP.NET:4.8.4210.0
    
                </font>
    
        </body>
    </html>
    <!-- 
    [ArgumentException]: ServiceHost sólo admite tipos de servicio de clase.
       en System.ServiceModel.Description.ServiceDescription.GetService(Type serviceType)
       en System.ServiceModel.ServiceHost.CreateDescription(IDictionary`2& implementedContracts)
       en System.ServiceModel.ServiceHostBase.InitializeDescription(UriSchemeKeyedCollection baseAddresses)
       en System.ServiceModel.ServiceHost.InitializeDescription(Type serviceType, UriSchemeKeyedCollection baseAddresses)
       en System.ServiceModel.ServiceHost..ctor(Type serviceType, Uri[] baseAddresses)
       en System.ServiceModel.Activation.ServiceHostFactory.CreateServiceHost(Type serviceType, Uri[] baseAddresses)
       en System.ServiceModel.Activation.ServiceHostFactory.CreateServiceHost(String constructorString, Uri[] baseAddresses)
       en System.ServiceModel.ServiceHostingEnvironment.HostingManager.CreateService(String normalizedVirtualPath, EventTraceActivity eventTraceActivity)
       en System.ServiceModel.ServiceHostingEnvironment.HostingManager.ActivateService(ServiceActivationInfo serviceActivationInfo, EventTraceActivity eventTraceActivity)
       en System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath, EventTraceActivity eventTraceActivity)
    [ServiceActivationException]: El servicio '/WSConexion.svc' no se puede activar debido a una excepción durante la compilación. El mensaje de la excepción es: ServiceHost sólo admite tipos de servicio de clase..
       en System.Runtime.AsyncResult.End[TAsyncResult](IAsyncResult result)
       en System.ServiceModel.Activation.HostedHttpRequestAsyncResult.End(IAsyncResult result)
       en System.ServiceModel.Activation.ServiceHttpHandlerFactory.ServiceHttpHandler.EndProcessRequest(IAsyncResult result)
       en System.Web.HttpApplication.CallHandlerExecutionStep.InvokeEndHandler(IAsyncResult ar)
       en System.Web.HttpApplication.CallHandlerExecutionStep.OnAsyncHandlerCompletion(IAsyncResult ar)
    -->
    --.
    Los metadatos contienen una referencia que no se puede resolver: 'http://localhost:53323/WSConexion.svc'.
    No se pudo activar el servicio solicitado, 'http://localhost:53323/WSConexion.svc'. Consulte los registros de seguimiento de diagnóstico del servidor para obtener más información.
    Si el servicio se define en la solución actual, intente compilar la solución y agregar de nuevo la referencia de servicio.
    
    
    
    



    Una respuesta JP

    lunes, 28 de septiembre de 2020 23:50