H
Helge Kalnes
We are running an ASP.NET application on a cluster of 3 web-servers, using
the Network Load Balancing feature of Application Center. We have
synchronized the machineKey in machine.config on the 3 web-servers, so we
can utilize a random algorithm for server selection for requests. The
application does not use either session state or application state.
We recently upgraded to .NET Framework 1.1 (including the hotfix for the
"doPostback bug"), and after that we experience a mysterious problem on our
production servers:
Let's call the servers A, B and C. Let's say you select a page (a GET
request), and it is served by either server A or B. The page contains a
form, so when you post it back and server C gets to handle the request, the
response appears to be like the original GET request. The page does not seem
to process the page as a POST request.
The same thing happens if the original page comes from server C, and the
postback is processed by server A or B.
Obviously, it seems that there is something wrong on server C.
We have checked everything we can think of. Among them the .NET Framework
installation, machine.config, and that the web application files are the
same.
Since this is a production environment, we are not allowed to use debug
tools. However, we have enabled tracing. When this problem occurs, we see
that
1) The form collection contains the posted data
2) That LoadViewState and ProcessPostData has been executed, both of which
are not executed on a GET request.
3) SessionId is unchanged
But even so, when the request is processed by the called page, it is
processed as a GET request.
Now I don't know where to keep on looking. Does it ring a bell for anyone?
Thanks,
Helge
the Network Load Balancing feature of Application Center. We have
synchronized the machineKey in machine.config on the 3 web-servers, so we
can utilize a random algorithm for server selection for requests. The
application does not use either session state or application state.
We recently upgraded to .NET Framework 1.1 (including the hotfix for the
"doPostback bug"), and after that we experience a mysterious problem on our
production servers:
Let's call the servers A, B and C. Let's say you select a page (a GET
request), and it is served by either server A or B. The page contains a
form, so when you post it back and server C gets to handle the request, the
response appears to be like the original GET request. The page does not seem
to process the page as a POST request.
The same thing happens if the original page comes from server C, and the
postback is processed by server A or B.
Obviously, it seems that there is something wrong on server C.
We have checked everything we can think of. Among them the .NET Framework
installation, machine.config, and that the web application files are the
same.
Since this is a production environment, we are not allowed to use debug
tools. However, we have enabled tracing. When this problem occurs, we see
that
1) The form collection contains the posted data
2) That LoadViewState and ProcessPostData has been executed, both of which
are not executed on a GET request.
3) SessionId is unchanged
But even so, when the request is processed by the called page, it is
processed as a GET request.
Now I don't know where to keep on looking. Does it ring a bell for anyone?
Thanks,
Helge