private void ConnectionRequest(object sender, ObjectReceivedEventArgs e)
 {
     if (e.Value is ConnectionRequest crv)
     {
         openChannels.GetOrAdd(crv.ProposedGuid, s =>
         {
             var ret                      = new MemoryServiceChannel(crv.ProposedGuid, true, MscMode.Server, crv.Ttl, new IdentityFromWindowsProvider());
             ret.ObjectReceived          += ClientComm;
             ret.ConnectionStatusChanged += ClientConnectionChanged;
             return(ret);
         });
     }
 }
Пример #2
0
        public IServiceHubClientChannel CreateClient(string serviceAddr, AsyncBackStream backStream)
        {
            MemoryServiceChannel initialChannel = new MemoryServiceChannel(serviceAddr, false, MscMode.Client, 6000, provider);
            var guid = Guid.NewGuid().ToString("N");

            if (initialChannel.IsGlobal)
            {
                guid = $@"Global\{guid}";
            }

            var retVal = new MemoryServiceChannel(guid, true, MscMode.Client, 15, provider);

            ReConnectChannel(retVal, initialChannel);
            return(new ServiceClient(retVal, initialChannel, this, backStream));
        }