WCF Service Library vs Class Library tipos de proyecto


¿Qué hace una Biblioteca de servicios WCF que no hace una biblioteca de clases normal?

Editar: Publiqué mi propia respuesta. Me estoy perdiendo algo? ¿Son fundamentalmente dos bibliotecas de clases con algunas clases de plantilla agregadas?

Author: Peter Mortensen, 2010-03-12

4 answers

Creé ambos y los comparé. Esto es lo que encontré.

Biblioteca de Servicios WCF

  • añade referencias a System.Runtime.Serialization y System.ServiceModel. no contiene una referencia a System.Data.DataSetExtensions como lo hace la Biblioteca de clases.
  • contiene clases de servicio de muestraIService1, CompositeType y Service1
  • añade app.config con un wsHttpBinding y un endpoint de servicio mexHttpBinding
  • agrega /client:"WcfTestClient.exe" como una opción de línea de comandos de depuración en las propiedades del proyecto
  • añade una pestaña WCF Options en el propiedades del proyecto. Esta pestaña contiene una opción para iniciar un host de servicio WCF al depurar otro proyecto en la misma solución
  • habilita una opción Sign the ClickOnce manifests en la pestaña Firma de las propiedades del proyecto. esta opción está deshabilitada en la Biblioteca de clases
 25
Author: kenwarner,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-03-12 19:14:29

También ejecuta la utilidad WCF Service Host en F5. El conmutador /client que notó se está pasando al Host del servicio WCF para indicarle qué cliente lanzar. En este caso, se le está diciendo que inicie el cliente de prueba WCF.

Esto te da una experiencia bastante buena F5. Establezca puntos de interrupción en su servicio, presione F5 , use el Cliente de prueba para invocar la operación de su servicio y sus puntos de interrupción serán golpeados.

 5
Author: John Saunders,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-03-13 16:48:22

He probado en el proyecto VS 2010, utilizando la biblioteca de clases como tipo de alojamiento WCF, pero no puede generar clases wsdl o proxy.

El proyecto WCF es diferente de la biblioteca de clases normal, porque agrega muchas DLL en las referencias de solución/proyecto y también agrega (Service1.svc) plantilla, que necesita implementar en el servidor IIS y crear 2 archivos de salida utilizando svcutil.exe.

 2
Author: Mohammed Hoq,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-12-11 15:30:33

Como se describe aquí:

En el primer elemento PropertyGroup haga lo siguiente:

Busque el elemento ProductVersion. Actualice la versión del producto para que coincida con lo siguiente:

<ProductVersion>8.0.50727</ProductVersion>

Debajo del elemento AssemblyName, agregue los siguientes elementos:

<ProjectTypeGuids>{3D9AD99F-2412-4246-B90B-4EAA41C64699};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>

<StartArguments>/client:"WcfTestClient.exe"</StartArguments>

Desplácese hasta el final del archivo, y debajo del elemento de importación agregue la siguiente extensión:

<ProjectExtensions>
    <VisualStudio>
      <FlavorProperties GUID="{3D9AD99F-2412-4246-B90B-4EAA41C64699}">
        <WcfProjectProperties>
          <AutoStart>True</AutoStart>
        </WcfProjectProperties>
      </FlavorProperties>
    </VisualStudio>
  </ProjectExtensions>
 0
Author: Cătălin Rădoi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-02-11 10:20:41