誰かアドバイスしてもらえますか?外部WCFクライアントを使用してジョブのエンドポイントネットパイプを実現するWCFライブラリを作成します。libをWindowsサービスに配置しました。しかし、WCFクライアントサーバーメカニズムを使用せずにライブラリからデータ交換を行う方法がわかりません。Windowsサービスで実行中のWCFサービスからデータを配置または取得するにはどうすればよいですか?たとえば、WCFエラーをイベントログに登録したり、WCFに接続されているクライアントに転送するためのパラメーターをサービスに提供したりします。
私のプロジェクトでは、プラントの産業用監視用にSilverlightまたはWPFクライアントをリアルタイムで作成する必要があります。このために、OPCクライアントのwcfサービスでデュプレックスチャネルを使用したいと思います
Windowsサービスプロジェクトに2つのオブジェクトがあります。1つのオブジェクトはOPCクライアントとデータベースクライアントです。このオブジェクトをコードで作成すると、すべてが正常に機能します。もう1つのオブジェクトは、このサービスへの外部接続用のnet.pipeバインディングを備えたWCFサービスライブラリです。Ok。私は自分のコードで次のように定義します。
// 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);
}
しかし、私のオカレンスの「WcfDuplexActualValuesvalue」-WCFの外部接続用のOPCオブジェクトからのデータ。そして今、私は、OPCオブジェクトとWCFサービスライブラリ間のクライアントサービス通信を使用せずに、opcオブジェクトからデータを取得する方法を知りません。
どうもありがとう