Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/281.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.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服务访问windows服务的静态类(或任何方法)_C#_Asp.net_Wcf - Fatal编程技术网

C# 通过托管的WCF服务访问windows服务的静态类(或任何方法)

C# 通过托管的WCF服务访问windows服务的静态类(或任何方法),c#,asp.net,wcf,C#,Asp.net,Wcf,我最近做了很多研究。我似乎无法访问windows服务,该服务正在运行我的wcf服务。这就是我正在做的 在windows服务中:我从端口收集一些信息,并将它们放在一个静态类中。我还主持了一个wcf服务 在windows窗体gui中:我可以访问我的wcf服务 一切都好。但我希望我的Windows窗体GUI应用程序能够通过wcf服务访问我的Windows服务中的静态类,该服务可以通过netTcpBinding连接。我已经在双工模式下定义了netTcpBinding,但不一定要这样 我想知道我的wcf服

我最近做了很多研究。我似乎无法访问windows服务,该服务正在运行我的wcf服务。这就是我正在做的

在windows服务中:我从端口收集一些信息,并将它们放在一个静态类中。我还主持了一个wcf服务

在windows窗体gui中:我可以访问我的wcf服务

一切都好。但我希望我的Windows窗体GUI应用程序能够通过wcf服务访问我的Windows服务中的静态类,该服务可以通过netTcpBinding连接。我已经在双工模式下定义了netTcpBinding,但不一定要这样

我想知道我的wcf服务是否可以连接并读取位于windows服务中的静态类。请提供您所有的代码链接

多谢各位

泰兰O.塞夫公司

但我希望我的Windows窗体GUI应用程序能够访问静态 通过wcf服务在我的windows服务中初始化,它可以 通过netTcpBinding连接到


如果希望从客户端访问此信息,则必须在服务契约=>中公开它,编写一个查询静态类并返回数据的操作契约,以便客户端可以看到它。显然,由于您使用的是一个静态类,并且可能会有多个并发客户端访问此操作契约,因此您必须确保正确同步对此静态类中可能处理的任何共享数据的访问。

问题实际上只是以下几点:如何访问任何类型的属性通过WCF在WS中定义?我是否有一个对象包含托管WCF中托管WS的运行实例?在某些操作契约中,您将此属性作为数据契约公开。在WCF中,您有服务契约:这是一个接口,它定义了您向客户机公开的操作。这些操作称为操作合同。这些操作作为参数或返回的类型称为数据协定。因此,如果您希望WCF服务的消费者能够访问某些信息,那么必须在服务合同中公开这些信息。我的朋友,我知道WCF的动态。我只想知道如何访问wcf的主机。请参阅我的wcf托管在windows服务中。我的wcf也可以由windows窗体gui应用程序使用。但我不知道以下几点。我的wcf服务器如何能够接触到它的服务器(windows服务)并说调用公共方法或获取公共属性。我知道我可以在windows服务中的DB中编写这些内容,并让WCF连接到该DB并将其呈现给GUI。这将意味着更多的交通。如果可以,我想绕过DB路由并直接获取它。为了访问公共方法或属性,您需要在WCF服务项目中引用包含此方法或属性的程序集。我猜您的Windows服务代表一个承载WCF服务的类库项目。因此,您可能需要将要访问的代码放入将在WCF服务项目中引用的另一个类库中。这将允许您获取WCF服务内的值。但是,如果您想将其传递给客户机,正如我所说的,您必须在服务合同中公开它。