ASP.NET (VB) Performing A Long Function Asynchronously Without Blocking The Page Thread?
Jan 15, 2012
I've been reading up on asynchronous function / web pages for ASP.NET 3.5 (we're not using v4 yet) but the ones I've seen all focus on performing a background task but then still coming back to finish up and send the response, after the task is complete.
What I want to do is simply kick off the background task (in this case a call to a web service) but then return a response to the browser immediately - ie. without waiting for the asynchronous task to complete. I don't even need to know if it succeeds or not.What is the best way to do that? I can't seem to find examples of kicking off what you might call an "orphan" background task in ASP.NET.
I thought of doing it via a javascript Ajax call on the page I show to the user, but the information passed to the web service is sensitive, so that's out of the question. But that kind of illustrates what I want to do.
[ed] Another idea: Is there an event in the ASP.NET model I can use which occurs after the response has been sent to the browser and the connection closed? ie. So more processing can occur without the user waiting for it?
I have a function in a module that returns a datatable.I need to call that function asynchronously and get the results in the Main thread (Main Form) in vb.net.
I'm having issues with e.HasMorePages.. I've written a function that will plot long texts onto the printer and should insert a new page everytime yPos > PrintHeight
e.g.
Module Scope var i is the count
PrintPage if i<=10
[CODE]...
I can certainly add pages from the printpage, but my function will plot characters individually onto the printer and will increase ypos at the end of the printers width.
I have a class that has purely static Methods and properties. I am calling an async method on the class "Load" that asks a web service for a chunk of data, which then fires an event that executes the return method, "LoadCompleted". I have no idea how long the call is going to take (the difference between calling the "Load" method, then the "LoadCompleted" getting called).
I would like to block the application from proceeding any further until the callback method has been raised (as the app will try and get stuff from this class, which isn't populated until the "LoadComplete" method sets the data).
Is there a synchronous wait function that won't tie up the UI-thread in .NET WPF? Something like:
Sub OnClick(sender As Object, e As MouseEventArgs) Handles button1.Click Wait(2000) 'Ui still processes other events here MessageBox.Show("Is has been 2 seconds since you clicked the button!") End Sub
I have been reading the async design patterns on MSDN and the general idea makes sense to me but in practice it is proving to be more difficult. I am working on a project utilizing VMWARE VIX.
HTML Code: [url]. Each function such as connecting to a host server, retrieving properties, etc. can be executed in two different ways.
Connecting to a host using a blocking Wait:
Code: Dim m_lib As New VixLib Dim m_hostJob As VixCOM.IJob
[CODE]...
Code: Dim m_lib As New VixLib Dim m_hostJob As VixCOM.IJob dim m_callback as VixCOM.ICallback
[CODE]...
The problem with the VIX SDK is that sometimes the functions never return, hanging the application. dblock.
HTML Code:[URL] came up with a library that specifies a timeout value. When the timeout runs out the method aborts and returns regardless whether it finished or not.
The callback method is an active wait where the code continues to execute. What I want to implement is a blocking wait with a timeout. The ICallback interface has one sub OnVixEvent(IJob,Integer,IVixHandle). This method is fired at least twice, first when some progress is posted and second when it is complete. The first call to this method can be one second after registering the callback or 30 seconds, so I can not rely on this method to block the main thread. how to create some kind of async result class that would block the main thread from executing until either a timer runs out or the OnVixEvent method returns an Operation Complete signal that also implements ICallback.
I am a novice in Threads, but I want to know how to order thread execution in my scenario, and is the following :
UI Thread : Windows Form Background Thread : Kind of print daemon implemented with recursive methods IO Operation : a StreamWriter that do the job of File.AppendText()
When I execute my main app.exe, sometimes it launches the Windows Forms and the execution process in the task manager (app.exe), in some opportunities its just launches the execution process in background. How can I determine the behavior of launching UI, I have to establish a priority or somewhat else? Code: I'm using framework 2.0 and any answers could be writted in C# or Vb.Net.
I'm in the Progress of changing a big Application from Singlethread logic to Multithread logic. I'm currently move Dataloading Logic into a sperate thread, and work with callbacks after they are finished. I have Synclocks in place in order to ensure threadsafty. But sonetimes the Synclocks wait even if there is no other thread with the same synclock active. Is there any way to find out what witch thread they are waiting for, and why? BTW, I have FW45 installed, may that be the reason, since it'S a inplace upgrade for FW40?
In my DoWork() function I register with our sip server. Then I have to wait for a response back. However, the response I get is received in another event. However, before I am able to check the flag in the DoWork() the DoWork() has all ready finished and the response comes after.
I am trying to find a way to wait in the DoWork() until I get a response in the Diagnotic event. I have a global flag that is set in that event that I have to check in the DoWork().I was thinking of maybe blocking in the DoWork() until the other event is finished. Maybe using a join.
' Do work in background worker 'Will return less than 8 if there are no error message from the library If (Not Me.bgwProcessLogin.CancellationPending) Then ' Register and wait for response
I've been able to write a thread into my app which basically does a loop in the background perfroming detection for a device being added or removed.works great!i am trying to implement another thread to check for a file on the found device...but i still haven't figured out threading enough to make this work, the versions i try to implemt are either looping along with the initial loop or cancelling itself because its already running.i've been trying to put a variable in that would switch the thread off, but it doesn't seem to work.
when a button is clicked i start a seperate thead which is population a grid and does something with a webbrowser-control. But when the button is click the new thread seems not to be seperate, cause the UI is freezing until the new thread is done.
In Visual Studio 2008 I am using :Private Declare Function BlockInput Lib "user32" (ByVal fBlock As Long) As Long To stop input from occuring during a search-replace operation.
BlockInput(True) ' do not allow input during search and destroy Dim cursorIcon As Cursor cursorIcon = Cursor Cursor.Current = Cursors.WaitCursor
Then setting it to false at the end of the operation. It did not work, so I thought maybe it was because I was calling it from a child window, so I created a function in the mainwindow, and ran it like this:
FrmMain.BlockFrmMainInput()With these functions is the Main window:
[Code]...
It did not solve the problem. I thought maybe it was because I was running under the debugger, so I tried compiling and running it debugger-free, but that did not do any better. I am still getting input when I double-click the mouse on either form.
I have created an application using VB 2008 Express on an XP machine. I created a deployment package and installed it on other XP machines with no problems. I tried it on a Vista machine and all seemed well until performing a serial port function. It simply halts/locks up. I have to close it in task mangler. I thought I would circumvent the problem by building and publishing it on the Vista machine. While running the program from VB express the program functions perfectly on that Vista machine, but when I publish and install it on same it still crashes at the serial portion of the program.
HOW TO RUN THE JAVASCRIPT FUNCTION ON PAGE ONLOAD EVENT IN CONTENT PAGE OF MASTER PAGE.? means i have masterpage and the content page of master page namely default.aspx in vb.net.i wanna run javascript function in Default.aspx and i have called the function body onload in master page.when i run my website it shows the error "" Microsoft JScript Runtime Error : Object Expected ""
A non-UI thread in my prog needs to obtain data from a UI listview control. To prevent cross-thread errors I use the following, but it freezes the prog (probably because the "Else" part is never called).What am I doing wrong?
I have a situation like this:[code]This function takes several minutes. I do not have access to any kind of loop counter because the function is a big loop, but I do not want it to be done in the click event, I want the click event to call the function, as it does here. Is there any way to report the progress in a progress bar on the form with the button that called this function?
Actually, I am trying to find out whether the partno is existing in the database table or not and it takes long time in count = checkCommand.ExecuteReader statement
Public Function CheckProductNo(ByVal Partno As String) As Boolean Dim count As SqlDataReader Dim valid As Boolean = False Using connection As New SqlConnection
The users instead of using Vertical ScrollBar in DataGrid1 they requested for NEXT and PREV buttons for paging the display on DataGrid. I have added the NEXT Button and PREV Button but doesn't know how to create the script to perform the function of NEXT Page and PREV Page.
I have this code that checks if a thread or page has changed. But it always says it has changed. Because it does. Im currenlty checking the whole html page but i dont know a better way. Hers my code.
Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
I have a very hard time to run a function in it's own thread.
I would like to call this function with some data like[code]... \ I dont understand how I can pass data to the function if I want to run it as it's own thread.
Is there a easer way of coding in stead of wrighting long long paragraphs like this in one line [code]All of this is on one line and i got lots of info to put down.."The game will begin on your 16th birthday with your mother waking you up. Today you are to go to the castle for the first time. Leave your bed and open your dresser for a Strength Seed. "
I have a couple of threads running. One is a trigger which picks up a system event, the other processes stuff. When the trigger picks up the event I want it to notify the processor thread to do stuff. The threads are both started within the same class and can access the thread-object of the other thread. How do I set up the function call though?
How can we declare a thread for function in vb.net Actually i have to declare nine functions which takes the oracle command as input parameter and return multiple values ( return types will includes datatime,string and a datatable ) . So to return multiple values from function , i have declared a structure and returning as a structure.but now the issue is !!! : As the thread is a void type and doesnt accept return types which function returns ... Now how can i declare thread for a function which accepts and returns arguments.
i have these 2 functions that search for any .jpg files starting from a given path the algorithm works, it's just that it freezes up the gui at times this is why i wish to know how to implement it through a new thread or a backgroundworker maybe.[code]
Public Sub Submit( ByVal reasonId As Integer, ByVal email As String, ByVal message As String ) '[Argument validation code here] EmailController.sendMail(reasonId, email, message) End Sub
I want to spin this off in a new thread so Submit() returns right after creating and start the thread.In C#, I could do something like this:new Thread(() => { EmailController.sendMail(reasonId, email, message)}).Start();
when trying to run a function in a separate thread, my reason for trying this is because since the application is only run on one thread, the GUI hangs when the function is called.[code]In this code, the Print screen Button is pressed and the function HookCallBack is called.The problem is that the function has variables that need to be passed and returned, and while searching, i found a website that had an answer for this, and it required the function to be put in a class, and then it could be run on a separate thread while still passing all the variables needed.url...But the code cannot be placed in a class without giving errors and it seems to me like i did something wrong. The code is meant to be used in a form and not a class.My question is, how would i go about running the HookCallBack Function in a Separate thread?
Ok so I coded this app that generates a number/word and it will upload to my database. Speed wasn't the issue when my db was under 1million entry. Now that I got about 100million entry it takes a few mins to upload.I worked with threading before but now I want all my threads to access this function that will give them a string. Now here is the problem, if 2 or more thread access the function at the same time, it will crash.How can I by pass that?I read about SyncLock. Can I use SyncLock on my function on each thread?
I am running a query in a thread but I can't figure out how to get the result back to the calling function. I am doing something like this:
Threading.ThreadPool.QueueUserWorkItem(AddressOf RunThread, "some query string") Private Function RunThread(ByVal stateInfo As Object) As String Dim myQuery As String = stateInfo.ToString
In one application, I need use 4 simultaneous threads.When the threads finished, I need to update the text of a TextBox.So, I create 4 Textbox, and I wanna the threads change the text to FINISHED.Each thread change one distinct TB.I use this "example"
Dim Terminados As Integer = 0 Private Sub frmEnviarMensagem_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Timer1.Enabled = True Timer1.Start()
[code]....
The problem is, I have an error in the red lines.The error is: INVALIDOPERATIONEXCEPTION "Cross-Thread operation not valid: Control tbPlaca1 Accessed from a thread other than the thread it was created on."I don't use cross threading. Each TB only was accessed for the correspondent thread, and for the "main program".