Mark,
| I couldn't find the method "BeginValidate" or "EndValidate" in the
ASPNetMX
| documentation at
http://www.aspnetmx.com/help/default.htm. Where does it
| come from?
"BeginValidate" or "EndValidate" are based on ASPNetMX being a Web Service,
ASPNetMX is not a web service, ergo they don't exist per se. You should be
able to use an asynchronous delegate with ASPNetMX.
http://msdn.microsoft.com/library/de...sdelegates.asp
| Also, excuse my .Net ignorance but does "asynchronously" mean at the same
| time?
Yes. For details on asynchronous programming see:
http://msdn.microsoft.com/library/de...rogramming.asp
| And, is "For index As Integer = 0 To 20 - 1" the same as:
|
| Dim index as Integer
| For index = 0 To 19
Yes
| I haven't really programmed much in VB.Net before just VBA.
Looking at
http://www.aspnetmx.com/help/default.htm, I would consider using
ValidateQty instead of Validate, as ValidateQty does a list of addresses.
Then I would not worry about getting multi-threading & asynchronous
programming to work. As Kevin suggests multi-threading is something to
consider not using, as it is a very advanced topic that is easy to make
things worse then better, although I have not specifically read Kevin's
response... Asynchronous programming ("BeginValidate" or "EndValidate") are
generally easier, however even then you need to be very careful as its still
multi-threaded programming.
Hope this helps
Jay
"Mark B" <mb*******@Delete-All-X-XorbisofXXt.com> wrote in message
news:uu**************@TK2MSFTNGP09.phx.gbl...
| Thanks very much.
|
| I haven't really programmed much in VB.Net before just VBA.
|
| I couldn't find the method "BeginValidate" or "EndValidate" in the
ASPNetMX
| documentation at
http://www.aspnetmx.com/help/default.htm. Where does it
| come from?
|
| Also, excuse my .Net ignorance but does "asynchronously" mean at the same
| time?
|
| And, is "For index As Integer = 0 To 20 - 1" the same as:
|
| Dim index as Integer
| For index = 0 To 19
|
|
|
| "Jay B. Harlow [MVP - Outlook]" <Ja************@msn.com> wrote in message
| news:uS**************@TK2MSFTNGP09.phx.gbl...
| > Mark,
| > In addition to the other comments:
| >
| > Directly creating threads can be costly, rather then use New Thread, I
| would
| > recommend using either the ThreadPool, creating your own thread pool, or
| > using an async delegate.
| >
| > The following MSDN Magazine article shows one method of creating a timed
| > method.
| >
| >
http://msdn.microsoft.com/msdnmag/is...s/default.aspx
| >
| >
| > Depending on how you call
www.aspnetmx.com, for example if its a Web
| Service
| > wouldn't it be easier to simply set the WebClientProtocol.Timeout
property
| > to your timeout amount (10 seconds)?
| >
| >
|
http://msdn.microsoft.com/library/de...meouttopic.asp
| >
| > Something like:
| >
| > '********CODE START***************
| >
| > ' set the method timeout on the proxy to 10 seconds
| > Mx.Timeout = CInt(TimeSpan.FromSeconds(10).TotalMilliseconds)
| >
| >
| > Dim intResult(20) as Integer = 1
| > Dim i as Integer
| > 'intResult(i) 1 = Not Finished, 2 = True , 3 =False
| >
| > For i = 1 To 20
| >
| > '*******Start thread (i) here
| > If Mx.Validate(Session("Email"+Format$(i,"00")))=True Then
| > 'This tests the particular email address
| > intResult(i)= 2
| > Else
| > intResult(i)= 3
| > End If
| > ' *********End thread (i)i here
| >
| > Next i
| >
| > '********CODE END***************
| >
| > Also, depending on how may total requests I had coming in, I would
| consider
| > doing these 20 outgoing requests asynchronously.
| >
| > Something like (syntax checked only):
| >
| > Mx.Timeout = CInt(TimeSpan.FromSeconds(10).TotalMilliseconds)
| >
| > Dim intResults(20 - 1) As Integer
| >
| > Dim results(20 - 1) As IAsyncResult
| >
| > ' Queue up all the requests
| > For index As Integer = 0 To 20 - 1
| >
| > intResults(index) = 1
| > results(index) =
| > Mx.BeginValidate(Session("Email"+Format$(i,"00)), nothing, nothing)
| >
| > Next index
| >
| > ' wait for each request to finish
| > For index As Integer = 0 To 20 - 1
| > If Mx.EndValidate(results(index)) Then
| > 'This tests the particular email address
| > intResults(index)= 2
| > Else
| > intResults(index)= 3
| > End If
| > Next
| >
| > NOTE: You may need the Mx.EndValidate in a Try/Catch as the Timeout will
| > cause an exception to be raised...
| >
| > The advantage of using BeginValidate is that all 20 validates are
| executing
| > concurrently...
| >
| > Hope this helps
| > Jay
| >
| > "Mark B" <mb*******@Delete-All-X-XorbisofXXt.com> wrote in message
| > news:er**************@TK2MSFTNGP14.phx.gbl...
| > | Hi
| > |
| > | I was wondering if someone could help me with the syntax for some
VB.Net
| > | ASPX code to:
| > |
| > | - Start 20 threads
| > | - End all threads after the sooner of 10 seconds or if all of the
| threads
| > | themselves have finished.
| > |
| > | BTW, each thread checks an email address for validity with
| >
www.aspnetmx.com.
| > | If it is taking too long (e.g. > 10 seconds) I just want to look at
the
| > | results for the threads that have finished.
| > |
| > | TIA
| > | Mark
| > |
| > |
| > |
| > |
| > |
| >
| >
| >
|
|