示例#1
0
        public bool SetChannel(IClientChannelDetailProvider details)
        {
            if (_hub != null)
                return false;

            _chan = ChannelFactory.CreateClientChannel(details);
            _url = details.URL + "/" + ServerHubProvider.ObjectName;
            return true;
        }
示例#2
0
        public static IChannel CreateClientChannel(IClientChannelDetailProvider details)
        {
            var props = new Dictionary<string, string>();
            props["port"] = "0";
            var serverProvider = new BinaryServerFormatterSinkProvider();
            serverProvider.TypeFilterLevel = TypeFilterLevel.Full;

            switch (details.Mode)
            {
                case ChannelMode.NamedPipe:
                    return new IpcChannel(props, null, serverProvider);
                case ChannelMode.TCPIP:
                    return new TcpChannel(props, null, serverProvider);
                default:
                    return null;
            }
        }