Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/275.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# 需要WCF对客户机/服务器操作的说明_C#_.net_Wcf_Wcf Client - Fatal编程技术网

C# 需要WCF对客户机/服务器操作的说明

C# 需要WCF对客户机/服务器操作的说明,c#,.net,wcf,wcf-client,C#,.net,Wcf,Wcf Client,我需要有一个C NET服务器应用程序和C NET客户端应用程序。使用服务器的ASP web界面,我需要能够告诉特定的客户端应用程序执行诸如下载文件字符串url、CreateWindowsService等功能 我会在服务器上执行以下操作,并将它们公开给客户端应用程序吗 [ServiceContract] public interface IFunctions { [OperationContract] void DownloadFile(string url); void Create

我需要有一个C NET服务器应用程序和C NET客户端应用程序。使用服务器的ASP web界面,我需要能够告诉特定的客户端应用程序执行诸如下载文件字符串url、CreateWindowsService等功能

我会在服务器上执行以下操作,并将它们公开给客户端应用程序吗

[ServiceContract]
public interface IFunctions
{
  [OperationContract]
  void DownloadFile(string url);
  void CreateWindowsService();
  void OtherFunctions();
}
从我所读到的内容来看,听起来像是我在服务器上定义/编码函数,然后客户机应用程序实际运行这些函数,就好像它被编码到它们中一样


另一方面,在阅读了绑定的描述之后,听起来我应该在这个项目中使用Tcp?每个客户端应用程序将在一台单独的计算机上。

否,操作在服务器上运行,操作结果(如果不是void)将以序列化格式发送给客户端

编辑
将WCF引用添加到客户端时,将使用与服务器契约具有相同签名的方法生成代理。每个代理方法都以序列化形式对其输入参数进行编码,并将其发送到服务器。服务器解码请求,在服务器上执行方法并返回答案。客户机将答案解码为常规的c类型,并最终从代理方法返回。

Sow我将如何执行上述操作?我需要将文件下载到客户机上,或者在客户机上创建服务。我是否必须反向操作,使所有客户端都成为服务器,并将实际的服务器应用程序功能作为WCF中的客户端?@Brett,DownloadFile将文件内容作为字符串返回给客户端。CreateWindowsService是不可能的,因为web应用程序没有创建服务的权限。@Brett,至少对于服务创建部分,您需要创建一个可以完全信任运行的客户端应用程序。它可以用WinForms、WPF或类似软件创建。很抱歉,我想我忘了提到我的服务器和客户端都是控制台应用程序。当你提到我将无法做到这一点时,这让我很困惑。@Brett,那么你需要澄清你对ASP Web界面的意思,嗯,你是否尝试创建一组客户端来监听配置服务器,而该服务器是通过Web界面控制的?