Exemplo n.º 1
0
 /// <summary>
 /// 处理当前主机节点,将当前节点做为服务HOST启动
 /// </summary>
 /// <param name="node">当前主机节点</param>
 private void ProcessNode(NetNode node)
 {
     if (node.Info != null && !string.IsNullOrEmpty(node.Info.Url))
     {
         ServiceHost host = new ServiceHost(typeof(SyncService));
         //if (host.State == CommunicationState.Created)
         //{
         //    _logger.Info(string.Format("主机节点{0}已启动", node.Info.Url));
         //    return;
         //}
         NetTcpBinding binding = new NetTcpBinding("SyncBinding");
         host.AddServiceEndpoint(typeof(ISyncService), binding, node.Info.Url);
         ContractDescription  cd = host.Description.Endpoints[0].Contract;
         OperationDescription myOperationDescription = cd.Operations.Find("Excute");
         DataContractSerializerOperationBehavior serializerBehavior = myOperationDescription.Behaviors.Find <DataContractSerializerOperationBehavior>();
         if (serializerBehavior == null)
         {
             serializerBehavior = new DataContractSerializerOperationBehavior(myOperationDescription);
             myOperationDescription.Behaviors.Add(serializerBehavior);
         }
         serializerBehavior.MaxItemsInObjectGraph = 1000000000;
         ServiceDebugBehavior behavior = host.Description.Behaviors.Find <ServiceDebugBehavior>();
         if (behavior == null)
         {
             behavior = new ServiceDebugBehavior();
             host.Description.Behaviors.Add(behavior);
         }
         behavior.IncludeExceptionDetailInFaults = true;
         host.Opened += (obj, e) => { _logger.Info(string.Format("主机节点{0}已启动", node.Info.Url)); };
         host.Open();
     }
     else
     {
         _logger.Error("没有找到可用于启动的主机节点");
     }
 }
Exemplo n.º 2
0
 /// <summary>
 /// 处理当前主机节点,将当前节点做为服务HOST启动
 /// </summary>
 /// <param name="node">当前主机节点</param>
 private void ProcessNode(NetNode node)
 {
     if (node.Info != null && !string.IsNullOrEmpty(node.Info.Url))
     {
         ServiceHost host = new ServiceHost(typeof(SyncService));
         //if (host.State == CommunicationState.Created)
         //{
         //    _logger.Info(string.Format("主机节点{0}已启动", node.Info.Url));
         //    return;
         //}
         NetTcpBinding binding = new NetTcpBinding("SyncBinding");
         host.AddServiceEndpoint(typeof(ISyncService), binding, node.Info.Url);
         ContractDescription cd = host.Description.Endpoints[0].Contract;
         OperationDescription myOperationDescription = cd.Operations.Find("Excute");
         DataContractSerializerOperationBehavior serializerBehavior = myOperationDescription.Behaviors.Find<DataContractSerializerOperationBehavior>();
         if (serializerBehavior == null)
         {
             serializerBehavior = new DataContractSerializerOperationBehavior(myOperationDescription);
             myOperationDescription.Behaviors.Add(serializerBehavior);
         }
         serializerBehavior.MaxItemsInObjectGraph = 1000000000;
         ServiceDebugBehavior behavior = host.Description.Behaviors.Find<ServiceDebugBehavior>();
         if (behavior == null)
         {
             behavior = new ServiceDebugBehavior();
             host.Description.Behaviors.Add(behavior);
         }
         behavior.IncludeExceptionDetailInFaults = true;
         host.Opened += (obj, e) => { _logger.Info(string.Format("主机节点{0}已启动", node.Info.Url)); };
         host.Open();
     }
     else
     {
         _logger.Error("没有找到可用于启动的主机节点");
     }
 }
Exemplo n.º 3
0
 /// <summary>
 /// 刷新主机节点
 /// </summary>
 public void LoadNetNode()
 {
     _node = ParseNode();
 }
Exemplo n.º 4
0
 /// <summary>
 /// 刷新主机节点
 /// </summary>
 public void LoadNetNode()
 {
     _node = ParseNode();
 }