.NET, Asynchronous Call To Another Page, Return Response Immediately?
Feb 13, 2010
An external server sends incoming SMS messages converted to HTTP requests into my sometimes very time-consuming .aspx page. If no response is returned to the external server in 20 seconds, this is considered as an timeout and the same message is sent to my aspx page again (and maybe again....The optimal solution for me would be that the aspx page reads the incoming message (as an HTTP request to the aspx page), starts the processing of the message in another thread, and immediately renders response back to the external server. The external server has no interest in other stuff than the HTTP status (normally 200). When the processing of the message is completed this results in an entry into the log file of the application.
I have a try-catch inside a method that is called asynchronously. When an error occurs, inside the catch I have a Response.Redirect because I need to redirect to the login page.
This is my issue.
But my problem doesn't involve things that expire, so the idea of a timer isn't the best way to resolve it.
I've the following doubt. I've a page "MyPage" and i've declared few dictionary objects in the page classMy doubt isIf i declare the dictionary as a private non-static object i'm not able to use it across the functions in that page class (the object is getting nulled)able to across the object across the functions. But will that object be same across all the users who have opened the page right now (guessing that each user will have an instance of the page in turn has an instance for the page class and static variables of a class are invariable across all the instances of the class
In pageload, if you do Response.Cookies.Add(..., immediately in the next line, you can access that cookie via Request.Cookies(... I know that under the covers, the cookie is added to Request.Cookies by .net, but the original request never had that cookie.
If what I'm saying is correct, why is it this way? Shouldn't the cookie be available in the following request? Shouldn't the immediate access to Request.Cookies(... be null?
If I call newpage.aspx directly, I get a "URI Formats are not supported error"
I think its close, though. this solution is needed to get around the fact that skype does not have an https option for its skype buttons which tell the status of the skype user. Creating this proxy page will allow this to work without causing a 'mixed' security alert in the browser.
How to make a call to my WCF service asynchronous?
Here is how I am doing it
Dim wcfService = New EmailBlastService.EmailBlastServiceClient wcfService.WCFSubCallAsync()
But when I actually do the call it seems to tie up the server for about a minute (even though I know the async process takes longer than that and is still processing the request). Even if I try to hit the page in a different browser it still takes a minute to load.
Basically I just want to make the WCF call and forget about it, I don't want users to be waiting while I am doing some heavy processing and calling an external
I'm currently working on a web site which involves a data upload process. The file is currently uploaded to the server method is called (in app_code) where ultimately a DTS package is called (via a web method) to load the data into a database and perform some validation on it.The client has specified that they don't want to have to wait for the DTS package to execute (execution time is less than 5 minutes) so it appears that I need to call the method asynchronously. The user will probably logout or close the browser window while this task is running so I believe I'm unable to run this on an asp.net thread.
Since i am fresher to .net, i m unable to handle asp.net. I have call asynchronous ajax call using XMLHTTPRequest and also use QueryString to filter Employee details.
I'm working on an existing web application (web site project and some class library projects). In the web site project, the guys created many web services, that are called from the aspx pages (sometimes on client side).
I need to create a new web service, so I was suggested to put it "near" the existing web services. I'm gonna need to make an asynchronous call to my new web services.
So I created the service this way, but when I try calling a method asynchronisly, I have only the method in intellisense, I don't have the method for the asynchronous call, neither the Complete event. Why is that ?
On the other hand, I created a new project, with a web service application and a web site where I added the reference to the web service, and this way I have the asynchronous method and the complete event in intellisense.
I have an process that take about 15minutes to execute. And i have toput this process in a service, and managed his statWell, i placed this process in a service and in some specific pointi have one variable telling me how much % the process have done.So my service reference im my consumer project its typed to let asynchronous calls.When i start my process with a
I've created a small class library to asynchronously call a WebService(Fire and Forget. I don't need the result).In a Windows Form application, the XXXAsync() method works fine. But, in a Web Application, the process is locked until the XXXCompleted event is fire.My problem is: I tried to create a Delegate and use the Begin/EndInvoke to call the XXXAsync() method. It worked fine, but, the w3wp process seems to be consuming a huge amount of memory. I'm calling the EndInvoke method properly. Invoking the GC.Collect did not free any memory
I have a C# asp.net file upload form with a submit button. After the form is submitted the file is uploaded and post-processing is started. The point is that the post-processing can take up to several minutes.I would like to create some kind of asynchronous call of the post-processing function with showing information to the user
XP Pro,aspnet 2, IIS, Oracle I have a primary webpage that displays a tab and some summary data. The tab uses an iframe and the summary data is loaded by an async WebMethod call back to C#. The iframe page takes a short while to load depending on how much data is in there (sometimes upto 20 seconds?). The WebMethod call, or at least the content of it, is very fast. BUT, the WebMethod call won't return until basically the iframe has finished loading.
I've verified through Fiddler that the browser is initiating both requests at basically the same time. It's initiating the iframe call first followed immediately by the WebMethod call within the same second. My understanding is that browsers are limited to only two calls at once.
If I set a breakpoint at the end of my WebMethod call (even commenting out ALL it's guts so it just returns an empty string), that breakpoint won't fire until the aspnet page serving up the iframe has finished. Using threads window, I see both calls at the server. I just don't understand why the server won't actually run the Webmethod call until the first call has finished. I've searched the code looking Monitor.Enter, lock, etc to make sure nobody has inserted any other type of blocking code and I can't find anything. I've basically emptied out the WebMethod call and it just returns a string, but no matter what I do, it just won't return as fast as it can. If I comment out the iframe, then the WebMethod call returns within 2 seconds. With the iframe, it "looks" like the the webmethod call won't return until the iframe has finished.
1) Does aspnet only process one request per aspnet session id? Is it FIFO? I figured the webserver would just process requests and return each request as fast as it can.
2) What else can I do to get that summary data to return faster (but not actually loading and putting the data into the very first primary page) ?
I have to call a function to run a report through a web service, then call another function to get the data but only after the 1st function has finished processing. How do I make c# wait till the first function has finished processing to run the second function?
my code looks something like:
NetworkCredential Cred = new NetworkCredential("uid", "pw"); ReportWebService reportService = new ReportWebService(); reportService.Credentials = Cred; string s = reportService.runReportAsync("0ede9884e6394daf73fa418e9bffd4fc"); string report = reportService.getReportData(s);
This code will break because s is not set since the function (runreportasynch) has not finished running to produce s.
I am using PageMethods in my pages, and we have some requirement in which some maintenance process happened in certain time span, so in that time we set on DB flag consider as True False, I have written my code in Global.asax where in application_AcquireRequestState(...,...) Method I am checking the flag and depanding upon the flag I am redirecting my Page to one Maintenance dummy page, so application_AcquireRequestState() method working properly when page get postback or I am using thru any server control, but when I am using Asynchronous call using PageMethods in application_AcquireRequestState I am getting exception, Can anyone solve my problem I am using VB.NET.
I am using a third party service for location time(zonal).If I pass latitude and longitude of the location with service URL it returns the time of that location in XML format.But the problem is some of the time this service gets too much slow so because of that my home page gets stuck because its a synchronous call of that service.here my code-
Is it necessary to call Response.End() after Response.Redirect(url) Update for all the answers. Because some answers say that it's necessary and others say no, I have searched more and have found in msdn under remarks the following: Redirect calls End which raises a ThreadAbortException exception upon completion.
I am building a page with databound list control. For each row I want to display piece of info retrieved from web service call. This could be time demanding so I want to render page first and retrieved additional info asynchronously and in parallel later on. Anyone has some tips how to make it? Just to have a more detailed picture it is a product list in e-shop which I want to render so customers can use it (go to product detail/add goods to shopping cart...) but meantime there will be a placeholder displaying info that informations are retrieving which after completion of call will be replaced by result data.
I have a web site that is highly dependant on a SQL Server 2008 database. I am using linq to sql to connect to the database and require the website to reflect database changes immediately. Currently the changes are only reflected once a postback occurs and the database is requeried.
Is there a way to get the asp.net page(s) to be alerted of an database change and then to reflect it immediately, or within seconds, on the display? I am aware that one can use the SQLDependency class and ADO.NET to do this, but am not aware of any linq to sql possibilities.
I'm trying to return an xml string from a IHttpHandler to a like this: context.Response.Write(xml); When I receive the response in my .aspx.cs I try to load the document as follows: var xml = XDocument.Load(xmlString); but I get an Illegal Characters in Path error message. I've also tried
I am writing an ASP.NET application that generates CSV string and returns it using response.write. However, along with the CSV string, the output comes with other information I would like to get rid of (e.g. ASP.NET version, time-stamp) etc. How can I just get the CSV string and nothing else?
I am using UpdatePanel and UpdateProgress on my webform. On my page_Load, I am checking some of the session variable if thats null then I have to redirect to my other page. Now, as I have updatePanel, we cannot use Response.Redirect so I have this code to redirect to my other page after checking that session variable.
[Code]....
But the problem is that my page continues execution after this line. I want to immediate transfer my page to this other page just like Response.Redirect but it keeps executing and redirects at last. If it comes to this line of code, I immediately want to redirect to my other page.