Пример #1
0
 public RemotingHandle(C_NSF.Endpoint endpoint)
 {
     var factory = endpoint.Resolve<C_NSF.Interfaces.ILoggerFactory>();
     this._log = factory.Create(typeof(RemotingHandle));
     this._defaultHandle = new C_NSF.Remoting.RemotingHandle(factory);
     this._uriTypes = new ConcurrentDictionary<string, Type>();
 }
Пример #2
0
        public string GetServiceDescription(C_NSF.ServiceConfig service)
        {
            var f = this.GetFacade(service.HostUri);

            return this.Is_C_NSF(f)
                ? (f as C_NSF.Remoting.RemoteFacade).GetServiceDescription(service)
                : (f as T_NSF.Remoting.RemoteFacade).GetServiceDescription(this.Parse(service));
        }
Пример #3
0
        public void Register(Uri uri, C_NSF.ServiceConfig[] services)
        {
            var f = this.GetFacade(uri);

            if (this.Is_C_NSF(f))
                (f as C_NSF.Remoting.RemoteFacade).Register(services);
            else
                (f as T_NSF.Remoting.RemoteFacade).Register(services.Select(o => this.Parse(o)).ToArray());
        }
Пример #4
0
        public string Invoke(C_NSF.ServiceCall call)
        {
            var f = this.GetFacade(call.Target.HostUri);

            return this.Is_C_NSF(f)
                ? (f as C_NSF.Remoting.RemoteFacade).Invoke(call)
                : (f as T_NSF.Remoting.RemoteFacade).Invoke(this.Parse(call));
        }
Пример #5
0
 private T_NSF.ServiceCall Parse(C_NSF.ServiceCall call)
 {
     return new T_NSF.ServiceCall()
     {
         TargetMethod = call.TargetMethod,
         Identity = new T_NSF.Identity() { AuthKey = call.Identity.AuthKey, Source = call.Identity.Source },
         Target = this.Parse(call.Target),
         ArgumentCollection = call.ArgumentCollection.Select(o => new T_NSF.ServiceCallArgument(o.Key, o.Value)).ToArray()
     };
 }
Пример #6
0
 private T_NSF.ServiceConfig Parse(C_NSF.ServiceConfig c)
 {
     return new T_NSF.ServiceConfig()
     {
         AssemblyName = c.AssemblyName,
         HostUri = c.HostUri,
         LoadBalancingAlgorithm = c.LoadBalancingAlgorithm,
         Name = c.Name
     };
 }
Пример #7
0
        public void SendAnAsyncCall(Uri uri, C_NSF.ServiceCall call)
        {
            var f = this.GetFacade(uri);

            if (this.Is_C_NSF(f))
                (f as C_NSF.Remoting.RemoteFacade).InvokeAsync(call);
            else
                (f as T_NSF.Remoting.RemoteFacade).InvokeAsync(this.Parse(call));
        }