Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
托管应用程序中的C#方法,在客户端应用程序中变成类_C#_Wcf - Fatal编程技术网

托管应用程序中的C#方法,在客户端应用程序中变成类

托管应用程序中的C#方法,在客户端应用程序中变成类,c#,wcf,C#,Wcf,我一直在尝试创建一个应用程序,它可以通过WCF从其他正在运行的应用程序接收信息。 我在一个单独的类中设置了一个void方法,创建了接口,并托管了服务 在我的主机应用程序中,我有以下方法 public Class ReceivingMethods : IReceivingMethods { Public void HelloWorld(string text) { MessageBox.Show(text); } } 及 在客户端中,我希望执行以下操作: H

我一直在尝试创建一个应用程序,它可以通过WCF从其他正在运行的应用程序接收信息。 我在一个单独的类中设置了一个void方法,创建了接口,并托管了服务

在我的主机应用程序中,我有以下方法

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();
           }