c#


Underlying Connection Failed after some time


We have a WPF application which communicates through REST API hosted on Production Environment running SQL Server 2012.
WPF application works fine but after some few hours of CRUD operations it keeps throwing Under Lying Connection Close exception. Until I restart the SQL Services I am running SQL Express Edition 2012 also on development environment. But it works fine on development environment.
There are a few reasons this could occurr 1) Server or router has settings that are closing the TCP connection. Like a maximum open time. 2) More often this occurs due to the tables that TCP keeps for retrying packets. TCP breaks messages into 1500 byte datagrams (data portion of packet). TCP sends an ACK for each messages sent. When a packet doesn't get ACK it will get resent usually 3-5 times at around 5 seconds a retry. Packets also can be receive in random order. So the sending side of TCP must keep each packet in a table until an ACK is received. Then remove packet from table. The receiver must have table to reorder packets. Packets are removed from table when all previous packets are received. These tables can get very large and then the operating system will probably close application. Normally what causes this to happen is when the receiving end is running a lot of applications it doesn't ACK a message in 5 seconds. So the Sending end re-sends packets. The resend packets sends more data which adds more processing to the receiver slowing the receiver even more. The best way of checking for issue is to use a sniffer like wireshark or fiddler and see if you see duplicate packet numbers which indicates a retry. You should normally see each packet number twice (once when sent and once when ACK).

Related Links

Pass model as object then access variable
Which NotifyFilter triggered FileSystemWatcher.Changed?
getting file in while loop by his name
Computed Column in Entity Framework isn't updating Correctly?
C#: String variable only contains substring of what is output in Console.Write
How do I add/change .NET Web API's default Json message response properties?
Returns Generic type Database result set in C#
Getting textbox input in an SQLite database worked. But the second column doesn't work. How to fix this? (System.Web.UI.WebControls.TextBox)
CollectionViewSource Filter doesn't work with ReadOnlyCollection
Webform not allowed because it does not extend Class
Cannot convert datagridview datasource to datatable [duplicate]
Web api shows 404 when uploading mp4 video
Stubbing function expression of repository object using Rhino Mocks
Android not finding file path Unity 5
What dictates the datetime format of DB when ADO.Net runs query?
Parsing JSON With Newtonsoft Throwing Incorrect Format Error

Categories

HOME
asp.net
joomla
msbuild
stata
pyspark
process
bitbucket
esxi
localhost
msbi
liquidsoap
pip
spring-data-solr
angular-universal
tracking
cakephp-2.0
derby
google-street-view
keystone
android-wifi
concatenation
ecmascript-2017
ithit-webdav-server
traveling-salesman
javapns
blockly
loopback
traitsui
leaderboard
console.readline
client-server
cowboy
observer-pattern
ng-lightning
superclass
api-key
togglebutton
activeandroid
hierarchical-clustering
jsfl
critical-section
node.js-client
trusted-computing
esprima
fileopendialog
firebase-job-dispatcher
foreground
patching
supervised-learning
database-administration
android-progressbar
stdlist
code-translation
nslocalizedstring
sqldataadapter
nonblocking
wiql
gitk
self-join
vensim
clearquest
opennebula
parseexception
crtdbg.h
apache-pivot
react-os
growl
breeze-sharp
powershell-v1.0
ios-enterprise
serializer
msdropdown
cs193p
code-smell
randomaccessfile
aspnet-compiler
ironworker
nsnumber
nokogiri
latex-suite
exi
windows-scheduler
gmail-imap
rfc822
gssapi
aspmenu-control
project-files
zend-validate
httppostedfilebase
symfony-1.2
method-call
xhtmlrenderer
designated-initializer
quazip
carbon-emacs
coderush-xpress

Resources

Encrypt Message