简体   繁体   中英

ASP MVC or/and Networking issues

I am terribly sorry about the vague title, but I am having one of them "What the **** moments".

The premise is the following: We have an ASP MVC website, which is a kind of a CMS system, it is connected to an MSSQL Server 2008 R2 and published on a Windows Server 2003.

*I apologise beforehand for all the stupid things I am going to say about Networks, VPN's and so on, as I am really, really bad on those subjects.

We have offices in two countries and a intranet through VPN. So, our stations are locally connected and the ASP Website is not open to the public. It is published on a virtual machine, hosted on a machine that is in the foreign office. /as I said, two offices one in Bulgaria, one in the Netherlands/

The authentication used in the project is Windows Authentication.

So, once upon a time all was great in the kingdom (offices). The project worked fine, and anyone could open the site and do his bidding. View, Add, Edit, Delete, all was working. However, two weeks ago, something happened. Suddenly, out of nowhere, using the project from our office in Bulgaria (remember the machine hosting the project is in the Netherlands) stopped working PROPERLY. Properly here being the operative word. Currently, opening the website from Bulgaria works fine. Browsing through its content works fine (though many times slower than before). BUT, some functions now seem not to work. Now the interesting word is "some"! What I mean by that is literally that 'some' of the functions stopped working. All through the project there are forms for entering and editing data. It now seems that at most part those actions stopped working. However, there are some that still work.

Its time to define a few things. First what 'not working' means. Sadly, I cant really provide a more suitable description as what happens is the following: You enter a page, (for our example is a page full with hourlog records). You select some things to add, enter how many hours and click 'Add'. What happens next is ... nothing. The browser loads for a looot of time before saying - the web page is not available. I am guessing the session is then destroyed, because opening another tab of the project, or refreshing the current page also stops working.

When you restart the browser, however, the website is working again. AND WHAT IS amazing is that the action you executed was completed - meaning that the hour you logged was saved, and its there in the table now!

More than a few actions like that behave the exact same way. The browser loads for a long time and then it says 'the web page is not available' and you have to restart it if you want to continue your work. Interestingly enough, there are actions that complete! There are some separate forms that actually submit and return correctly. So it is just in some parts of the application.

Furthermore, please bear with me its about to get interesting, there is NOTHING, and I mean nothing different from the calls that actually work. I examined the code symbol by symbol and there is nothing to separate the working and not working actions. I am not a complete idiot (or so I'd like to believe) and tested extensively for call size (the amount of the transferred data) and timeouts (the time the calls take to complete) and again there were no noticeable differences. Some actions involving more data complete, when some actions with little to no call size fail. The same with slow and fast actions.

Oh, I haven't yet mentioned the kicker - in our offices in the Netherlands the project is working perfectly! There is no lag, there are no errors, no waiting and certainly no breaking and having to restart the browser.

So what have I done to try diagnosing the problem. To begin with, I tried tracking the http calls I make with fiddler. When we get to the part where the 'mysterious culprit' destroys the peace in our kingdom, the http request gets a "504 receive failure"

The call in the Network tab of Chrome is giving me a: (failed) net::ERR_CONNECTION_ABORTED and a Size (content) of 0 B.

I have error handling. I am using Elmah, but am receiving no errors. No errors get prompted on the browser. Nothing, just the 504 Error from fiddler.

Things that should also be mentioned are:

I have backups of the project going back, months, even years, when everything was well. I restored more than a bunch of them but to no avail. They are also behaving the same way.

There haven't been any updates to the project or anything new installed on the server NEAR the date everything went bad.

I researched the 504 error and saw that it is network related. I am advancing under the expression that the problem is not in my project for the reasons listed above and more including:

  • awful connection to the server
  • inability to open files and folders from my local machine (when logged on the server)

Unfortunately, the administrators have restarted every piece of equipment connected to the networking, brought down every firewall, reconfigured every DNS and VPN and still the problem persists. So I no longer believe in anything.

So, that's it. I am sorry for the long post, believe it or not I tried keeping it short and simple. If anyone has any ideas to what the ... could be causing this issue I would be in his/her debt!

Thank you for the patience and for reading this through.

Happy End

Thanks to everyone who tried to help. So, if by some strange chance someone gets in the same position and happens to read this, here is what happened.

It is easy to see that our setup is a little archaic (and that is me trying to put it mildly). So, one of our sheriffs(administrators) read or remembered that the Windows Server 2003 starts having trouble with SSL at some point. Even though the project is not using SSL it turns out that somewhere along the chain event it is used(most likely, or the problem was connected with something else that got way out of date).

We ran all updates on the server (yeah, we haven't even updated it for a while) and miraculously it all started working again! The project and all the network problems mentioned above.

So, all is well when it ends well, right?

Thanks again.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM