ajouter une référence de service web à une application console
Im la création d'un simple service web dans une application console. (PersonService)
c'est mon Programme.cs-dessous
im essayant d'ajouter une référence de service à une autre application console (PersonClient)
comment puis-je faire cela?
j'ai essayé de l'ajouter en cliquant à droite, ajouter une référence de service, pointant vers la refernce etc...
mais il l'habitude de travailler.
[DataContract]
public class Person
{
[DataMember]
public string FirstName { get; set; }
[DataMember]
public string LastName { get; set; }
}
[ServiceContract]
public interface IPersonLookup
{
[OperationContract]
Person GetPerson(int identifier);
}
public class PersonService : IPersonLookup
{
public PersonService()
{
}
public Person GetPerson(int identifier)
{
Person p = new Person();
p.FirstName="Jane";
p.LastName="Doe";
return p;
}
}
class Program
{
static void Main(string[] args)
{
using (ServiceHost host = new ServiceHost(typeof(PersonService)))
{
WSHttpBinding binding = new WSHttpBinding();
host.AddServiceEndpoint(typeof(IPersonLookup), binding, "http://localhost:9090/PersonService");
host.Open();
Console.WriteLine("Listening....");
Console.ReadLine();
}
}
}
OriginalL'auteur raklos | 2009-05-20
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin de lire sur WCF MEX points de terminaison. Voici un post de blog qui peut aider à.
Content d'avoir pu aider.
OriginalL'auteur RichardOD
la Solution:
OriginalL'auteur chakra
Vous avez deux console exe, celui qui exécute un
ServiceHost
- est-ce exact? Exécuter le serveur de la console sans débogage; puis dans l'IDE ajouter la WCF référence à l'url. Cela devrait fonctionner, mais il a besoin du serveur (votre deuxième console exe) pour être en cours d'exécution lorsque vous interrogez le mex.Quand il est en cours d'exécution, essayez de naviguer à l'uri du service dans votre navigateur web. Il peut vous donner le service à la page qui vous indique comment configurer mex; je ne me souviens pas du haut de ma tête, cependant.
quand je pointe vers localhost:9090/PersonService alors que le service est en cours d'exécution, il donne une page non trouvée.
OriginalL'auteur Marc Gravell
Lorsque vous avez ajouté le webservice de référence, vous avez défini l'espace de noms et le 'nom de la classe" pour le service. Vous devez soit ajouter l'espace de noms de référence ("à l'aide de FooNameSpace;") ou utilisez le nom de classe entièrement qualifié du service ("FooNameSpace.BarClass ws = new FooNameSapce.BarClass()");
OriginalL'auteur Wayne Hartman
De référence.
Dans la Nouvelle Fenêtre, cliquez sur Ajouter une Référence Web.
OriginalL'auteur Siddhartha