Estoy aprendiendo wcf y actualmente llegué tan lejos.El host del servicio WCF no puede encontrar ningún metadato de servicio
CS del archivo:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
namespace wcfLib
{
[ServiceContract]
public interface IfaceService
{
[OperationContract]
int wordLen(string word);
}
public class StockService : IfaceService
{
public int wordLen(string word)
{
return word.Length;
}
}
}
Sin embargo, cuando estoy tratando de ejecutar él, explota un error:
WCF service host cannot find any service metadata...
Alguna idea de lo que podría ser?
archivo de configuración:
<system.serviceModel>
<services>
<service behaviorConfiguration="wcfLib.Service1Behavior" name="wcfLib.Service1">
<endpoint address="" binding="wsHttpBinding" contract="wcfLib.ser">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="http://localhost:8732/Design_Time_Addresses/wcfLib/Service1/" />
</baseAddresses>
</host>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="wcfLib.Service1Behavior">
<serviceMetadata httpGetEnabled="True"/>
<serviceDebug includeExceptionDetailInFaults="False" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
¡Tiene que mostrarnos su archivo ** config **! Cosas como el intercambio de metadatos se definen en config –
¿Y a qué URL intenta conectarse para obtener sus metadatos? ¿Cómo hospedas este servicio, IIS o autohospedado? –
El código y la configuración de Yoru no coinciden: su servicio en el código es 'wcfLib.StockService' pero su etiqueta contiene' name = wcfLib.Service1' - ¡esos nombres deben coincidir! Lo mismo con el atributo 'contract =" wcfLib.ser "' en el punto final, ¡eso debe coincidir con el espacio de nombres + el nombre de la interfaz! ('wcfLib.IfaceService') –