我在控制台应用中创建一个简单的Web服务。 (PersonService) 这是我的Program.cs
我试图将服务引用添加到其他控制台应用程序(PersonClient) 我怎样才能做到这一点? 我尝试通过右键单击添加它,添加服务引用,指向引用等... 但它不会工作。
[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();
}
}
}
答案 0 :(得分:11)
解决方案:
答案 1 :(得分:2)
您需要阅读有关WCF MEX端点的信息。这是一个blog post that may help。
答案 2 :(得分:0)
你有两个控制台exes,一个运行ServiceHost
- 这是正确的吗?运行服务器控制台而不调试;然后在IDE中添加WCF引用到url。它应该可以工作,但是当你查询mex时它需要运行服务器(你的第二个控制台exe)。
答案 3 :(得分:0)
添加webservice引用时,您为服务定义了命名空间和“类名”。您必须添加命名空间引用(“使用FooNameSpace;”)或使用服务的完全限定类名(“FooNameSpace.BarClass ws = new FooNameSapce.BarClass()”);
答案 4 :(得分:0)
答案 5 :(得分:0)
到目前为止,还没有人提到您需要几件事才能使用“添加服务参考”。
祝您编程愉快!