托管应用程序中的C#方法,在客户端应用程序中变成类
我一直在尝试创建一个应用程序,它可以通过WCF从其他正在运行的应用程序接收信息。 我在一个单独的类中设置了一个void方法,创建了接口,并托管了服务 在我的主机应用程序中,我有以下方法托管应用程序中的C#方法,在客户端应用程序中变成类,c#,wcf,C#,Wcf,我一直在尝试创建一个应用程序,它可以通过WCF从其他正在运行的应用程序接收信息。 我在一个单独的类中设置了一个void方法,创建了接口,并托管了服务 在我的主机应用程序中,我有以下方法 public Class ReceivingMethods : IReceivingMethods { Public void HelloWorld(string text) { MessageBox.Show(text); } } 及 在客户端中,我希望执行以下操作: H
public Class ReceivingMethods : IReceivingMethods
{
Public void HelloWorld(string text)
{
MessageBox.Show(text);
}
}
及
在客户端中,我希望执行以下操作:
HostService client = new HostService();
client.HelloWorld("Hello World");
client.close();
但它不起作用,我不得不这样做
HostService client = new HostService();
HelloWorld hi = new HelloWorld();
hi.text = "Hello World";
client.HelloWorld(hi);
client.close();
我已经让它在应用程序/ASP组合中与前一个一样工作,但在这个应用程序上没有,我在两个应用程序之间的设置中找不到任何差异
谁能告诉我WCF设置需要什么才能使它像前者一样工作
HostService client = new HostService();
您没有提到要使用哪个端点或哪个类对象。通常servicehost类必须创建特定端点的对象,类似于下面的端点
using(System.ServiceModel.ServiceHost host =
new System.ServiceModel.ServiceHost(typeof(ReceivingMethodsnamespace.ReceivingMethods )))
{
host.Open();
Console.WriteLine("Host started @ " + DateTime.Now.ToString());
Console.ReadLine();
}
通常,hostservice必须创建实现servicecontract接口的类的对象(servicename of AddressBindingContract文件)结果我在其他地方发现了这个问题。 我将客户端服务引用配置为“始终生成消息契约” 取消选中此选项并更新服务引用解决了此问题 我在这里找到了解决办法。
也请发布您的wcf ABC配置文件。你好,哈米德,谢谢您的建议,Servicehost(typeof(ReceivingMtehods)已经是代码的一部分。
using(System.ServiceModel.ServiceHost host =
new System.ServiceModel.ServiceHost(typeof(ReceivingMethodsnamespace.ReceivingMethods )))
{
host.Open();
Console.WriteLine("Host started @ " + DateTime.Now.ToString());
Console.ReadLine();
}