首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >测试远程代理是否有效?

测试远程代理是否有效?
EN

Stack Overflow用户
提问于 2010-12-18 02:16:12
回答 1查看 942关注 0票数 1

我在客户端和服务器之间使用远程处理,虽然它可以工作,但我看到了一些我不理解的行为。

我正在设置服务器,如下所示:

代码语言:javascript
复制
        BinaryServerFormatterSinkProvider serverProv = new BinaryServerFormatterSinkProvider();
        serverProv.TypeFilterLevel = System.Runtime.Serialization.Formatters.TypeFilterLevel.Full;            
        BinaryClientFormatterSinkProvider clientProv = new BinaryClientFormatterSinkProvider();

        IDictionary props = new Hashtable();
        props["name"] = "MarsLogServer.rem";
        props["port"] = Properties.Settings.Default.ListeningPort;
        props["useIpAddress"] = false;

        server = new LogServer();

        chan = new TcpChannel(props, clientProv, serverProv);
        ChannelServices.RegisterChannel(chan, true);            
        RemotingConfiguration.RegisterWellKnownServiceType(typeof(LogServer), "MarsLogServer.rem", WellKnownObjectMode.Singleton);            

我的客户端连接如下:

代码语言:javascript
复制
this.logServer = (ILogServer)Activator.GetObject(typeof(ILogServer), connectForm.Url);
this.logServer.AttachClient(this, connectForm.SessionKey)

实际情况是,我甚至没有运行服务器,但是我在客户端接收的代理上对AttachClient()的调用成功了。我不明白为什么,在提供的URL上没有运行托管对象的进程(除非有人对我玩了恶作剧),所以为什么它不抛出一个异常呢?

理想情况下,我希望调用失败,或者在允许客户端继续之前,我希望通过某种方法测试我的代理是否有效。就像现在一样,无法知道连接是否成功。

EN

回答 1

Stack Overflow用户

发布于 2010-12-18 02:25:56

也许您可以使用System.Runtime.Remoting.RemotingServices.IsTransparentProxy(client)来测试是否设置了透明代理/RealProxy链?

-Oisin

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4473548

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档