I am doing an upgrade on the app host on ASP.Net 2.0 and running on .Net framework 2.0 to
host in windows server 2012 running ASP.Net 4.0 engine and 4.5 .Net Framework
however one of the upload page was hanged for period time, then throw an exception
Exception information:
Exception type: WebException
Exception message: The operation has timed out.
at ASP.fileupload_aspx.submit(Object Sender, EventArgs e) in C:\MyAppFolder\FileUpload.aspx:line 129
at System.Web.UI.HtmlControls.HtmlInputButton.OnServerClick(EventArgs e)
at System.Web.UI.HtmlControls.HtmlInputButton.RaisePostBackEvent(String eventArgument)
at System.Web.UI.HtmlControls.HtmlInputButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
at System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
I went back to the old server to run the same application. the upload process was completed very quick.
the root cause of this issue is that connection can't be established
http://msdn.microsoft.com/en-us/library/system.net.ftpwebrequest.usepassive.aspx
stated that "Setting the UsePassive property to true sends the "PASV"
command to the server. This command requests the server to listen on a
data port and to wait for a connection rather than initiate one upon
receipt of a transfer command."
My old code that caused the upload in long run
ftp.UsePassive = false
my fix to allow the client initiates the connection
ftp.UsePassive =true