请问,有人可以给我建议吗?我使用外部 WCF 客户端创建了实现端点网络管道的 WCF 库。我将 lib 放置在 Windows 服务中。但是我不知道如何在不使用 WCF 客户端-服务器机制的情况下从库中进行数据交换。如何在 Windows 服务中放置或获取正在运行的 WCF 服务的数据?例如,我想在 Eventlog 中注册 WCF 错误或为服务提供参数,以便为连接到 WCF 的客户端传输它们。
在我的项目中,我需要创建 Silverlight 或 WPF 客户端,以便在我的工厂中实时进行工业监控。为此,我想在我的 OPC 客户端上的 wcf 服务中使用双工通道
我的 Windows 服务项目中有两个对象。一个对象是 OPC 客户端和数据库客户端。如果我在代码中创建这个对象 - 一切都很好。另一个对象是带有 net.pipe 绑定的 WCF 服务库,用于到此服务的外部连接。好的。我在我的代码中定义:
// window service class
public partial class SyncSiemensService : ServiceBase
{
private OpcServiceClass opcServer = new OpcServiceClass();
public SyncSiemensService()
{
InitializeComponent();
}
protected override void OnStart(string[] args)
{
// OPC client- database client object
opcServer.Start();
// WCF interface for external communication
// with this windows service
using (ServiceHost host = new ServiceHost(typeof(DuplexPipeWcfService)))
{
host.Open();
eventLog.WriteEntry("<Bla-Bla-Bla", EventLogEntryType.Information);
}
}
}
WCF 服务
[OperationContract(IsOneWay = true)]
void GetActValuesFromLine(string line);
字符串行 - opc 对象的外部数据
和他的回调
public interface IDuplexPipeWcfServiceCallback
{
[OperationContract(IsOneWay = true)]
void ActualValuesUpdate(WcfDuplexActualValues value);
}
但是我的出现中的“WcfDuplexActualValues 值” - 来自 OPC 对象的数据,用于 WCF 中的外部连接。现在我不知道,如何在不使用 OPC 对象和 WCF 服务库之间的客户端服务通信的情况下从 opc 对象中检索数据。
非常感谢