473,320 Members | 1,868 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,320 software developers and data experts.

remoting client in IIS request server waiting permenantly when the network connection broken

Hi,

I am using .net remoting technology. I set up a .net remoting client and
server in IIS. When the client calls the server, the server will run a long
duration method (30-60seconds). I have a test on it that if the network
broken at the time the client have already send the remoting request and
waiting for the server, the client side will wait infinitely by default,
even if i already set the executionTimeout to 90seconds in machine.config
and iis connection timeout. The performance counter shows that the request
current in client side will hold, and the thread will hold. Using netstat to
check the client connection that the connection is established to the server
side.

If client and server in a very unstable network environment and request goes
high, this problem will make the IIS (asp.net) reach the connection limit. I
use a workaround method to set the timeout by:

System.Runtime.Remoting.Channels.ChannelServices.G etChannelSinkProperties(se
rviceObjectInstance)["timeout"] = 30000; //30s timeout

My questions:

1. In my real case, the probability of the network connection broken is very
rare. So, I want to know any possible error will make the same situation in
client side?

2. Any method to set the timeout for all remoting object instance rather
than calling the above method everytime?

Many thanks,
Dicky Cheng
Jul 21 '05 #1
2 3890
More information:

my client side open a browser to browse a page in the client side (localhost
relative to the browser), there is a button that trigger remoting call from
client side to server side. If the connection broken when the client is
waiting the response from the remoting server, the browser will wait
infinitely. When the connection resume, the broswer still waiting, and i
click the button in the page again, it will make one more request and wait
inifinitely. I open a new browser in the client, and successfully get a
response from the server. I checked the netstat, notice that the client has
established connection in the server (even the connection broken between
them), this won't happen if i stop IIS service in server side (it will throw
underlying connection close).

So, I would like to know how remoting handle the mechanism in connection
between server and client?

Thanks,
Dicky Cheng
"Dicky Cheng" <xx*@xxx.com> wrote in message
news:%2****************@TK2MSFTNGP12.phx.gbl...
Hi,

I am using .net remoting technology. I set up a .net remoting client and
server in IIS. When the client calls the server, the server will run a long duration method (30-60seconds). I have a test on it that if the network
broken at the time the client have already send the remoting request and
waiting for the server, the client side will wait infinitely by default,
even if i already set the executionTimeout to 90seconds in machine.config
and iis connection timeout. The performance counter shows that the request
current in client side will hold, and the thread will hold. Using netstat to check the client connection that the connection is established to the server side.

If client and server in a very unstable network environment and request goes high, this problem will make the IIS (asp.net) reach the connection limit. I use a workaround method to set the timeout by:

System.Runtime.Remoting.Channels.ChannelServices.G etChannelSinkProperties(se rviceObjectInstance)["timeout"] = 30000; //30s timeout

My questions:

1. In my real case, the probability of the network connection broken is very rare. So, I want to know any possible error will make the same situation in client side?

2. Any method to set the timeout for all remoting object instance rather
than calling the above method everytime?

Many thanks,
Dicky Cheng

Jul 21 '05 #2
The executionTimeout entry in the machine.config only affects the server
side -- it's the amount of time the ASP.NET runtime will allow the server
request before terminating it forcibly. As for setting the timeout on the
client, you don't have to do this for every object -- just set a property on
the HttpChannel when you create it. How that's done depends on whether you
configure your channel programmatically or via a config file. Either way,
check out:

http://msdn.microsoft.com/library/en...figuration.asp

This file shows all the channel configuration properties and demonstrates
how to set them both within code and within a config file.

Ken

"Dicky Cheng" <xx*@xxx.com> wrote in message
news:%2****************@TK2MSFTNGP12.phx.gbl...
Hi,

I am using .net remoting technology. I set up a .net remoting client and
server in IIS. When the client calls the server, the server will run a long duration method (30-60seconds). I have a test on it that if the network
broken at the time the client have already send the remoting request and
waiting for the server, the client side will wait infinitely by default,
even if i already set the executionTimeout to 90seconds in machine.config
and iis connection timeout. The performance counter shows that the request
current in client side will hold, and the thread will hold. Using netstat to check the client connection that the connection is established to the server side.

If client and server in a very unstable network environment and request goes high, this problem will make the IIS (asp.net) reach the connection limit. I use a workaround method to set the timeout by:

System.Runtime.Remoting.Channels.ChannelServices.G etChannelSinkProperties(se rviceObjectInstance)["timeout"] = 30000; //30s timeout

My questions:

1. In my real case, the probability of the network connection broken is very rare. So, I want to know any possible error will make the same situation in client side?

2. Any method to set the timeout for all remoting object instance rather
than calling the above method everytime?

Many thanks,
Dicky Cheng

Jul 21 '05 #3

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
by: bettervssremoting | last post by:
To view the full article, please visit http://www.BetterVssRemoting.com Better VSS Remote Access Tool including SourceOffSite, SourceAnyWhere and VSS Remoting This article makes a detailed...
1
by: Ahmet AKGUN | last post by:
Hi All; I have one server to which clients are connected to via TcpChannel. I start server on one host and establish a client connection from another host via tcpchannel. On client, using...
5
by: Sunny | last post by:
Hi, I have to implement client/server application. The client have to instaniate an remoting object via http and pass some auth info. If the auth is OK, the client should invoke a method (or...
0
by: Mike Grishaber | last post by:
Hello All, I am using an IHttpAsyncHandler class to intercept HTTP Requests and forward them to a system which processes the Request and returns the Result. I use .NET Remoting to connect the...
0
by: Martijn Damen | last post by:
Hi, At the moment I am trying to develop an application that uses another app over .net remoting and having some problems with it (ok, that is ofcourse why I am here), hope somebody can shine a...
2
by: Dicky Cheng | last post by:
Hi, I am using .net remoting technology. I set up a .net remoting client and server in IIS. When the client calls the server, the server will run a long duration method (30-60seconds). I have a...
4
by: Grant Schenck | last post by:
Hello, I'm just starting with .NET remoting. Here is what I'm not sure how to handle. I have a IPC Channel remoting server. It exports an object and I can call a method on that object just...
0
by: =?Utf-8?B?Sm9obiBXLg==?= | last post by:
A client application connects to a TCP-remoted object from a service on localhost for method invocations and events. It works as advertised. But... if the network cable (LAN) gets disconnected,...
3
by: ChristianProgrammer | last post by:
Its been a month and a half now. I have tried to get my WSSF web service to reference a class library that IS a Socket Client. The Socket Client in question runs fine when called by a testing exe....
0
by: DolphinDB | last post by:
Tired of spending countless mintues downsampling your data? Look no further! In this article, you’ll learn how to efficiently downsample 6.48 billion high-frequency records to 61 million...
0
by: ryjfgjl | last post by:
ExcelToDatabase: batch import excel into database automatically...
0
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
1
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
1
by: PapaRatzi | last post by:
Hello, I am teaching myself MS Access forms design and Visual Basic. I've created a table to capture a list of Top 30 singles and forms to capture new entries. The final step is a form (unbound)...
0
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
0
by: Defcon1945 | last post by:
I'm trying to learn Python using Pycharm but import shutil doesn't work
1
by: Shællîpôpï 09 | last post by:
If u are using a keypad phone, how do u turn on JavaScript, to access features like WhatsApp, Facebook, Instagram....
0
by: af34tf | last post by:
Hi Guys, I have a domain whose name is BytesLimited.com, and I want to sell it. Does anyone know about platforms that allow me to list my domain in auction for free. Thank you

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.