harry
7/28/2004 8:16:00 AM
Hi,
I'm very new to, and know very little about remoting. So my explanations may
not have all the correct remoting terminology.
The client PC is a Windows XP pc with up to date patches, with .NET
Framework Ver 1.1 (I use VS.NET 2002 for development). I also
tested on another XP machine, and also a Win2000 machine. These also have
exactly the same problem only occuring when proxy setting is enabled. I
included the code you gave me when testing on the other pc's.
There is no exception raised. The code simply stops/hangs, even though I
have a timeout:
///
Dim prop As IDictionary = ChannelServices.GetChannelSinkProperties(Manager)
prop("timeout") = 2000
///
The timeout works fine when the proxy is disabled and the server is shut
down. So not only does the code appear to continue to use the proxy server
when I insert that line of code you recommended, but it also doesn't
timeout.
The cause is exactly as previously explained. Absolutely nothing else
changed except for the proxy server setting enabled in internet explorer.
Even the checkbox labeled "Bypass proxy Server for local addresses" is also
checked and problem still exists.
I guess then my only remaining option is to temporarily disable proxy (if
enabled) while registering the channel, and then re-anabling once
registered. The time period elapsed between disabling proxy / registering
channel / re-anbling proxy is reasonably short, therefore I doubt user will
have an issue with it.
Have you any alternate suggestion? Or advice in disabling/enabling proxy
setting in code?
Thanks for your help
Regards
Harry
"Sunny" <sunny@newsgroups.nospam> wrote in message
news:OpQFuI$cEHA.3016@tk2msftngp13.phx.gbl...
> Hi,
> what exception you receive?
> Is this a server code?
>
> This code should avoid using of any proxy.
>
> Your problem may be somewhere else. Can you try to explain the exact
> configuration, in which you see and don't see the problem?
>
> Sunny
>
> In article <#QqJb$#cEHA.2664@TK2MSFTNGP09.phx.gbl>, harry@nospam says...
> > Thanks Sunny. I tried that however unfortunately the same problem still
> > exists. Have you any other sugestions, or is my code incorrect?
> >
> > This code is called when loading the form:
> >
> > Private Sub CreateServerChannel()
> > m_DataManager = New DataManager(Me)
> >
> > System.Net.GlobalProxySelection.Select =
> > System.Net.GlobalProxySelection.GetEmptyWebProxy
> > Dim chnl As New HttpChannel(3333)
> > ChannelServices.RegisterChannel(chnl)
> >
> > RemotingServices.Marshal(m_DataManager, "DataManager.soap")
> >
> > End Sub
> >
> > Thanks
> > Harry
> >
> >
> >
> >
> >
> > "Sunny" <sunny@newsgroups.nospam> wrote in message
> > news:Ox%23n5W%23cEHA.2812@tk2msftngp13.phx.gbl...
> > > Hi,
> > >
> > > In article <uuWAnp3cEHA.3832@TK2MSFTNGP11.phx.gbl>, harry@nospam
says...
> > > >
> > > > If my program is started while the proxy setting is disabled, there
is
> > no
> > > > problem.
> > > >
> > > > If my program is running, and the proxy setting is enabled (or
enabled
> > then
> > > > disabled) still no problem with my program.
> > > >
> > > > However, if my program is started / restarted when the proxy setting
is
> > > > enabled then my program hangs when trying to communicate with the
> > server. I
> > > > guess because it is expecting proxy however no proxy server exists
on
> > local
> > > > network.
> > > >
> > > > If my program was started when proxy setting was enabled, then proxy
> > setting
> > > > is disabled, my program still has problems communicating with
server - I
> > > > guess it still tries to use proxy server.
> > >
> > > The remoting infrastructure reads the proxy settings when channel is
> > > registered. That explains what you see. When you start your program
> > > without proxy set in IE, it registers a channel without using proxy.
And
> > > even if you enable it later, it does not affect already registered
> > > channel. The same is whit when you start your program with proxy
> > > settings enabled.
> > >
> > > >
> > > > I guess my only option is to temporarily disable proxy server (if
> > enabled)
> > > > prior to creating HTTP channel. Can I do this from VB.NET?
> > >
> > > It can be done. But what if your client needs a proxy to connect? I
> > > would put some option for this, so the user can decide if he/she needs
> > > the proxy settings to be used.
> > >
> > > If you want to disable the use of the IE settings, you have to put
this
> > > before the channel registration:
> > >
> > > GlobalProxySelection.Select = GlobalProxySelection.GetEmptyWebProxy();
> > >
> > > Hope that helps
> > > Sunny
> >
> >
> >