473,788 Members | 3,053 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Using EndInvoke From within an AsyncCallback?

I've been working on some samples that use BeginInvoke/EndInvoke. In one
example, I call BeginInvoke and pass it an AsyncCallback function pointer.
I was messing around with ReaderWriterLoc ks and noticed that if I did this,
it worked (please ignore the lack of try ... catch blocks, because I cut
down the code to be more brief - I have a try...catch surround the
AcquireWriterLo ck method):
----------
myLock.AcquireW riterLock(1000) ;
iasResult = fprUIUpdate.Beg inInvoke(strBuf fer,null,null);

// Some other async operations can be done here

// Get the results of the delegate using EndInvoke. This will block
// execution of this thread until the delegate invoked completes
fprUIUpdate.End Invoke(iasResul t);
myLock.ReleaseW riterLock();
---------
But, if I do it this way, the WriterLock never gets cleared, even though the
statement gets executed in the AsyncCallback method:
---------
myLock.AcquireW riterLock(1000) ;
iasResult = fprUIUpdate.Beg inInvoke(strBuf fer,new
AsyncCallback(M essageUpdatedCa llBack),null);

// Some other async operations can be done here

public void MessageUpdatedC allBack(System. IAsyncResult Result)
{
// Get the results of the delegate using EndInvoke
fprUIUpdate.End Invoke(iasResul t);

// Operation completed, we can now give up the buffer lock
myLock.ReleaseW riterLock();
}
---------

I've validated that the myLock.ReleaseW riterLock method gets called in the
AsyncCallback routine, but for some reason the very next time it gets
checked, it comes back as locked. BUT, if I move it all back into the
thread and don't use callbacks, the same logic seems to work fine.

Is myLock no longer the same object reference (even though it's all in the
same class) because it's now inside an AsyncCallback function? I made
myLock a static variable inside the class to make sure that this wasn't the
problem, but no luck.

--
Doug Thews
Director, Customer Solutions
D&D Consulting Services
----------------
Visit my Tech Blog at:
http://www.ddconsult.com/blogs/illuminati/
Nov 16 '05 #1
11 3788
Doug Thews <do*******@remo veme.ddconsult. com> wrote:
I've been working on some samples that use BeginInvoke/EndInvoke. In one
example, I call BeginInvoke and pass it an AsyncCallback function pointer.
I was messing around with ReaderWriterLoc ks and noticed that if I did this,
it worked (please ignore the lack of try ... catch blocks, because I cut
down the code to be more brief - I have a try...catch surround the
AcquireWriterLo ck method):
----------
myLock.AcquireW riterLock(1000) ;
iasResult = fprUIUpdate.Beg inInvoke(strBuf fer,null,null);

// Some other async operations can be done here

// Get the results of the delegate using EndInvoke. This will block
// execution of this thread until the delegate invoked completes
fprUIUpdate.End Invoke(iasResul t);
myLock.ReleaseW riterLock();
---------
But, if I do it this way, the WriterLock never gets cleared, even though the
statement gets executed in the AsyncCallback method:
---------
myLock.AcquireW riterLock(1000) ;
iasResult = fprUIUpdate.Beg inInvoke(strBuf fer,new
AsyncCallback(M essageUpdatedCa llBack),null);

// Some other async operations can be done here

public void MessageUpdatedC allBack(System. IAsyncResult Result)
{
// Get the results of the delegate using EndInvoke
fprUIUpdate.End Invoke(iasResul t);

// Operation completed, we can now give up the buffer lock
myLock.ReleaseW riterLock();
}
---------

I've validated that the myLock.ReleaseW riterLock method gets called in the
AsyncCallback routine, but for some reason the very next time it gets
checked, it comes back as locked. BUT, if I move it all back into the
thread and don't use callbacks, the same logic seems to work fine.


Hang on - that seems very dodgy code. You've got two different threads
trying to acquire the writer lock, and a different thread releasing it
again. I suspect if you put a try/catch round the ReleaseWriterLo ck
call, you'll find that it's throwing an exception because the thread
doesn't own the lock.

ReaderWriterLoc k just isn't meant for this kind of operation - you'll
need to create your own equivalent if you want to be able to acquire
and release the lock from different threads.

--
Jon Skeet - <sk***@pobox.co m>
http://www.pobox.com/~skeet
If replying to the group, please do not mail me too
Nov 16 '05 #2
OK, I get it. The AsyncCallback method is not in the same thread as this
worker thread, even though its method is in the thread's class. It belongs
to the thread of fprUIUpdate, right? That makes perfect sense now.

What I was attempting to do was hold a lock until the UI Update operation
was completed, and I thought I could do it with an Async callback. Instead,
I just reverted to calling EndInvoke right after BeginInvoke in the worker
thread and then release the lock. Works like a champ!

Thanks for the explanation.

--
Doug Thews
Director, Customer Solutions
D&D Consulting Services
----------------
Visit my Tech Blog at:
http://www.ddconsult.com/blogs/illuminati/

"Jon Skeet [C# MVP]" <sk***@pobox.co m> wrote in message
news:MP******** **************@ msnews.microsof t.com...
Doug Thews <do*******@remo veme.ddconsult. com> wrote:
I've been working on some samples that use BeginInvoke/EndInvoke. In one
example, I call BeginInvoke and pass it an AsyncCallback function
pointer.
I was messing around with ReaderWriterLoc ks and noticed that if I did
this,
it worked (please ignore the lack of try ... catch blocks, because I cut
down the code to be more brief - I have a try...catch surround the
AcquireWriterLo ck method):
----------
myLock.AcquireW riterLock(1000) ;
iasResult = fprUIUpdate.Beg inInvoke(strBuf fer,null,null);

// Some other async operations can be done here

// Get the results of the delegate using EndInvoke. This will block
// execution of this thread until the delegate invoked completes
fprUIUpdate.End Invoke(iasResul t);
myLock.ReleaseW riterLock();
---------
But, if I do it this way, the WriterLock never gets cleared, even though
the
statement gets executed in the AsyncCallback method:
---------
myLock.AcquireW riterLock(1000) ;
iasResult = fprUIUpdate.Beg inInvoke(strBuf fer,new
AsyncCallback(M essageUpdatedCa llBack),null);

// Some other async operations can be done here

public void MessageUpdatedC allBack(System. IAsyncResult Result)
{
// Get the results of the delegate using EndInvoke
fprUIUpdate.End Invoke(iasResul t);

// Operation completed, we can now give up the buffer lock
myLock.ReleaseW riterLock();
}
---------

I've validated that the myLock.ReleaseW riterLock method gets called in
the
AsyncCallback routine, but for some reason the very next time it gets
checked, it comes back as locked. BUT, if I move it all back into the
thread and don't use callbacks, the same logic seems to work fine.


Hang on - that seems very dodgy code. You've got two different threads
trying to acquire the writer lock, and a different thread releasing it
again. I suspect if you put a try/catch round the ReleaseWriterLo ck
call, you'll find that it's throwing an exception because the thread
doesn't own the lock.

ReaderWriterLoc k just isn't meant for this kind of operation - you'll
need to create your own equivalent if you want to be able to acquire
and release the lock from different threads.

--
Jon Skeet - <sk***@pobox.co m>
http://www.pobox.com/~skeet
If replying to the group, please do not mail me too

Nov 16 '05 #3
Doug Thews <do*******@remo veme.ddconsult. com> wrote:
OK, I get it. The AsyncCallback method is not in the same thread as this
worker thread, even though its method is in the thread's class. It belongs
to the thread of fprUIUpdate, right? That makes perfect sense now.
I think you're making a mistake associating threads with objects -
they're completely orthogonal concepts.
What I was attempting to do was hold a lock until the UI Update operation
was completed, and I thought I could do it with an Async callback. Instead,
I just reverted to calling EndInvoke right after BeginInvoke in the worker
thread and then release the lock. Works like a champ!


If you're going to call EndInvoke immediately after BeginInvoke, why
bother doing it asynchronously at all? Just call Invoke instead.

Then again, I'm still not entirely sure what you're doing - what is the
lock for here?

--
Jon Skeet - <sk***@pobox.co m>
http://www.pobox.com/~skeet
If replying to the group, please do not mail me too
Nov 16 '05 #4
I'm just writing some example code, so please don't worry about the "why
would you do it like that?" design questions. I'm just trying to
familiarize myself with what works and what doesn't.

OK, what I've got is a class with a method in it that becomes my worker
thread. It's sole goal is to the operation and send back a string back to
the UI textbox for display (hence the need for a delegate). So, in the main
thread I instantiate an instance of this class and then spin a thread off
pointing to this method (I hate examples where the thread code is inside the
Form class, it doesn't tell you much about who can call what and so on - as
evidenced by my work with delegates in the past).

What I want to gain familiarity with the ReaderWriterLoc k method, so I use
it to gain a lock on a static string that will be used to send to the
UIUpdate. I lock it when I Invoke the UIUpdate and want to unlock it when
the UIUpdate is finished. Yes, I know that I wouldn't do this in a
production app, but I want to familiarize myself with the ReaderWriterLoc k,
and what better way than through a UI example (and not some stupid console
example that doesn't prove anything).

Anyway, you didn't answer my last question. The AsycCallback method is
running in the UI thread and not the worker thread, right? And yes, I could
just call Invoke on the instance of the Form from the worker thread, but
I've already written examples using Invoke - now I want to write examples
using BeginInvoke & EndInvoke to see how they interoperate. Remember, these
are examples, so they serve no useful purpose other than to educate.

Thanks in advance for your help.

--
Doug Thews
Director, Customer Solutions
D&D Consulting Services
----------------
Visit my Tech Blog at:
http://www.ddconsult.com/blogs/illuminati/

"Jon Skeet [C# MVP]" <sk***@pobox.co m> wrote in message
news:MP******** *************** *@msnews.micros oft.com...
Doug Thews <do*******@remo veme.ddconsult. com> wrote:
OK, I get it. The AsyncCallback method is not in the same thread as this
worker thread, even though its method is in the thread's class. It
belongs
to the thread of fprUIUpdate, right? That makes perfect sense now.


I think you're making a mistake associating threads with objects -
they're completely orthogonal concepts.
What I was attempting to do was hold a lock until the UI Update operation
was completed, and I thought I could do it with an Async callback.
Instead,
I just reverted to calling EndInvoke right after BeginInvoke in the
worker
thread and then release the lock. Works like a champ!


If you're going to call EndInvoke immediately after BeginInvoke, why
bother doing it asynchronously at all? Just call Invoke instead.

Then again, I'm still not entirely sure what you're doing - what is the
lock for here?

--
Jon Skeet - <sk***@pobox.co m>
http://www.pobox.com/~skeet
If replying to the group, please do not mail me too

Nov 16 '05 #5
Doug Thews <do*******@remo veme.ddconsult. com> wrote:
I'm just writing some example code, so please don't worry about the "why
would you do it like that?" design questions. I'm just trying to
familiarize myself with what works and what doesn't.

OK, what I've got is a class with a method in it that becomes my worker
thread. It's sole goal is to the operation and send back a string back to
the UI textbox for display (hence the need for a delegate). So, in the main
thread I instantiate an instance of this class and then spin a thread off
pointing to this method (I hate examples where the thread code is inside the
Form class, it doesn't tell you much about who can call what and so on - as
evidenced by my work with delegates in the past).
Right.
What I want to gain familiarity with the ReaderWriterLoc k method, so I use
it to gain a lock on a static string that will be used to send to the
UIUpdate. I lock it when I Invoke the UIUpdate and want to unlock it when
the UIUpdate is finished. Yes, I know that I wouldn't do this in a
production app, but I want to familiarize myself with the ReaderWriterLoc k,
and what better way than through a UI example (and not some stupid console
example that doesn't prove anything).
I'm not sure it's much of a help here though - there's no real need to
lock, and in practice, locking things for arbitrary amounts of time is
a bad idea. I'm just not sure how much you're actually
proving/learning.
Anyway, you didn't answer my last question. The AsycCallback method is
running in the UI thread and not the worker thread, right?
That depends on what fprUIUpdate is. Assuming it's a delegate then no,
it'll be running on a threadpool thread.
And yes, I could
just call Invoke on the instance of the Form from the worker thread, but
I've already written examples using Invoke - now I want to write examples
using BeginInvoke & EndInvoke to see how they interoperate. Remember, these
are examples, so they serve no useful purpose other than to educate.


There's a big difference between calling a delegate's
BeginInvoke/EndInvoke and calling BeginInvoke/EndInvoke on a control.
When using someDelegate.Be ginInvoke, the delegate and callback end up
being invoked on a thread pool thread. When using a control, the
delegate is called on the UI thread. You also don't need to use
EndInvoke when using BeginInvoke on a control, but you *do* need it
when calling it on a delegate.

There are 3 separate concepts here for calling code in a different
thread:

1) Starting a new thread with a ThreadStart
2) Calling Invoke/BeginInvoke on a control
3) Calling BeginInvoke on a delegate

I think it's worth separating them out very carefully in your mind.
I haven't pointed you to my threading guide yet (unusually, for me!) -
it's at http://www.pobox.com/~skeet/csharp/threads

See if that helps you out at all.

--
Jon Skeet - <sk***@pobox.co m>
http://www.pobox.com/~skeet
If replying to the group, please do not mail me too
Nov 16 '05 #6
Hey, thanks for the link. So, the AsyncCallback method runs in another
thread in the thread pool, and not in the same thread as the actual worker
thread that's running, right? That's why putting a lock in the
AsyncCallback method doesn't work, because THAT thread doesn't have a lock
(the other worker thread does - so that's why an exception is generated in
the AsyncCallback method). Do I have it right?

BTW ... I think it's a good idea to write an article from a beginner's
perspective, and I plan to do so - thanks to your help. What I've found is
that there are a lot of thread articles out there, and NONE OF THEM talk
about the dangers of Thread.Abort(), how to safely update the UI (because
most of them just are console test apps - pretty worthless), and none of
them talk about using delegates off of instantiated objects (all of the
examples I've seen, just put the thread code into the Main or Form class -
again, not realistic).

Thanks in advance for your pointers.

--
Doug Thews
Director, Customer Solutions
D&D Consulting Services
----------------
Visit my Tech Blog at:
http://www.ddconsult.com/blogs/illuminati/

"Jon Skeet [C# MVP]" <sk***@pobox.co m> wrote in message
news:MP******** *************** *@msnews.micros oft.com...
Doug Thews <do*******@remo veme.ddconsult. com> wrote:
I'm just writing some example code, so please don't worry about the "why
would you do it like that?" design questions. I'm just trying to
familiarize myself with what works and what doesn't.

OK, what I've got is a class with a method in it that becomes my worker
thread. It's sole goal is to the operation and send back a string back
to
the UI textbox for display (hence the need for a delegate). So, in the
main
thread I instantiate an instance of this class and then spin a thread off
pointing to this method (I hate examples where the thread code is inside
the
Form class, it doesn't tell you much about who can call what and so on -
as
evidenced by my work with delegates in the past).


Right.
What I want to gain familiarity with the ReaderWriterLoc k method, so I
use
it to gain a lock on a static string that will be used to send to the
UIUpdate. I lock it when I Invoke the UIUpdate and want to unlock it when
the UIUpdate is finished. Yes, I know that I wouldn't do this in a
production app, but I want to familiarize myself with the
ReaderWriterLoc k,
and what better way than through a UI example (and not some stupid
console
example that doesn't prove anything).


I'm not sure it's much of a help here though - there's no real need to
lock, and in practice, locking things for arbitrary amounts of time is
a bad idea. I'm just not sure how much you're actually
proving/learning.
Anyway, you didn't answer my last question. The AsycCallback method is
running in the UI thread and not the worker thread, right?


That depends on what fprUIUpdate is. Assuming it's a delegate then no,
it'll be running on a threadpool thread.
And yes, I could
just call Invoke on the instance of the Form from the worker thread, but
I've already written examples using Invoke - now I want to write examples
using BeginInvoke & EndInvoke to see how they interoperate. Remember,
these
are examples, so they serve no useful purpose other than to educate.


There's a big difference between calling a delegate's
BeginInvoke/EndInvoke and calling BeginInvoke/EndInvoke on a control.
When using someDelegate.Be ginInvoke, the delegate and callback end up
being invoked on a thread pool thread. When using a control, the
delegate is called on the UI thread. You also don't need to use
EndInvoke when using BeginInvoke on a control, but you *do* need it
when calling it on a delegate.

There are 3 separate concepts here for calling code in a different
thread:

1) Starting a new thread with a ThreadStart
2) Calling Invoke/BeginInvoke on a control
3) Calling BeginInvoke on a delegate

I think it's worth separating them out very carefully in your mind.
I haven't pointed you to my threading guide yet (unusually, for me!) -
it's at http://www.pobox.com/~skeet/csharp/threads

See if that helps you out at all.

--
Jon Skeet - <sk***@pobox.co m>
http://www.pobox.com/~skeet
If replying to the group, please do not mail me too

Nov 16 '05 #7
The callback *may* run on the same worker thread as the method invocation but isn't guaranteed to (my guess is at async method end the callback simply gets put ont he thread pool queue again - but i haven't checked the implementation in rotor to check whether this is true.

Regards

RIchard Blewett - DevelopMentor
http://staff.develop.com/richardb/weblog

nntp://news.microsoft. com/microsoft.publi c.dotnet.langua ges.csharp/<uE************ *@tk2msftngp13. phx.gbl>

Hey, thanks for the link. So, the AsyncCallback method runs in another
thread in the thread pool, and not in the same thread as the actual worker
thread that's running, right? That's why putting a lock in the
AsyncCallback method doesn't work, because THAT thread doesn't have a lock
(the other worker thread does - so that's why an exception is generated in
the AsyncCallback method). Do I have it right?

BTW ... I think it's a good idea to write an article from a beginner's
perspective, and I plan to do so - thanks to your help. What I've found is
that there are a lot of thread articles out there, and NONE OF THEM talk
about the dangers of Thread.Abort(), how to safely update the UI (because
most of them just are console test apps - pretty worthless), and none of
them talk about using delegates off of instantiated objects (all of the
examples I've seen, just put the thread code into the Main or Form class -
again, not realistic).

Thanks in advance for your pointers.

Nov 16 '05 #8
I have a feeling it doesn't, since the lock doesn't seem to work - giving me
the impression that I'm not inside the worker thread (otherwise I'd have
access to it). But, I'm guessing that I'm a lot closer to understanding the
problems than I was yesterday. Thanks for the tips.

BTW ... You do understand about the articles that I'm talking about. Now
that I've worked with this stuff a little, I can see that the beginner
articles are seriously lacking in some content (not to mention they all use
a simple console app & Console.Write() as examples - not exactly useful
stuff). I have yet to find anything close to what I've already found out
with my own example code and return posts from this newsgroup. Thanks a
bunch!

--
Doug Thews
Director, Customer Solutions
D&D Consulting Services
----------------
Visit my Tech Blog at:
http://www.ddconsult.com/blogs/illuminati/

"Richard Blewett [DevelopMentor]" <ri******@devel op.com> wrote in message
news:Ou******** *****@TK2MSFTNG P11.phx.gbl...
The callback *may* run on the same worker thread as the method invocation
but isn't guaranteed to (my guess is at async method end the callback
simply gets put ont he thread pool queue again - but i haven't checked the
implementation in rotor to check whether this is true.

Regards

RIchard Blewett - DevelopMentor
http://staff.develop.com/richardb/weblog
nntp://news.microsoft. com/microsoft.publi c.dotnet.langua ges.csharp/<uE************ *@tk2msftngp13. phx.gbl>

Hey, thanks for the link. So, the AsyncCallback method runs in another
thread in the thread pool, and not in the same thread as the actual worker
thread that's running, right? That's why putting a lock in the
AsyncCallback method doesn't work, because THAT thread doesn't have a lock
(the other worker thread does - so that's why an exception is generated in
the AsyncCallback method). Do I have it right?

BTW ... I think it's a good idea to write an article from a beginner's
perspective, and I plan to do so - thanks to your help. What I've found is
that there are a lot of thread articles out there, and NONE OF THEM talk
about the dangers of Thread.Abort(), how to safely update the UI (because
most of them just are console test apps - pretty worthless), and none of
them talk about using delegates off of instantiated objects (all of the
examples I've seen, just put the thread code into the Main or Form class -
again, not realistic).

Thanks in advance for your pointers.

Nov 16 '05 #9
Doug Thews <do*******@remo veme.ddconsult. com> wrote:
Hey, thanks for the link. So, the AsyncCallback method runs in another
thread in the thread pool, and not in the same thread as the actual worker
thread that's running, right?
I think it's *likely* to run in the same thread that the delegate runs
in. It won't be running in the thread which calls BeginInvoke.
That's why putting a lock in the
AsyncCallback method doesn't work, because THAT thread doesn't have a lock
(the other worker thread does - so that's why an exception is generated in
the AsyncCallback method). Do I have it right?
Yup.
BTW ... I think it's a good idea to write an article from a beginner's
perspective, and I plan to do so - thanks to your help. What I've found is
that there are a lot of thread articles out there, and NONE OF THEM talk
about the dangers of Thread.Abort()
That's a definite "TBD" in my own article at the moment.
how to safely update the UI (because
most of them just are console test apps - pretty worthless), and none of
them talk about using delegates off of instantiated objects (all of the
examples I've seen, just put the thread code into the Main or Form class -
again, not realistic).


Actually, almost *all* threading articles that I've seen talk about how
to safely update the UI. They do tend to usee delegates in the form
rather than existing class, but I think that's a more "general C#
understanding" than threading issue. I'll change some of my examples to
use delegates in another class though.

--
Jon Skeet - <sk***@pobox.co m>
http://www.pobox.com/~skeet
If replying to the group, please do not mail me too
Nov 16 '05 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
2041
by: AJ | last post by:
Ok, I have a "form" class, which I am going to use to generate HTML forms. I also have a form_input, which I use to generate the individual HTML input elements. What I want to do is some how manage the instances of the form_input class, within the form class. There should be no problem with this, but I can't work out how I can store an unspecified number of instances of one
2
2169
by: Martin Lucas-Smith | last post by:
I have a class from within which other classes are called. In the constructor, I want to create an instance of a database connection, so that this database can be called elsewhere. <?php # Declare a class foo class foo { # Constructor
5
1708
by: Jim Cser | last post by:
Hello- I have a function to generate a multi-dimensional array, which then gets summed over one axis. The problem is that the dimensions are large, and I run out of memory when I create the entire array, so I'm trying to do the sum *within* the function. Example-- variables x,y,z,t; dimensions numX, numY, numZ, numT; functions f1(x,y,z,t), f2(y,z,t); want to calculate f1*f2 and sum over t to get out.
3
5135
by: Drew Richardson | last post by:
On my page, I have a stylesheet that puts a "cell" in the middle of the page then creates another frame within that cell. I have my external links below the middle frame, so that only my content scrolls. My question is, can I put a link outside of the content div class that will load into the content frame? My stylesheet code is below if it helps... div.textbox { background-color: #000000; font-family: verdana;
2
973
by: John | last post by:
Hi all, Am I allowed to use labe;s within the datagrid heading section? Each time I drag a label onto the design, I can set the properties and such (including runat=server) but the code-behind refuses to accept/acknowledge it's existence. Am I just doing something wrong and if so, what? Regards
1
1873
by: Tor Inge Rislaa | last post by:
Using PowerPoint within my application I am developing an application that needs some functionality of displaying some text and graphic in full screen modus, as when you run a PowerPoint show. Is there a way that I can use the functionality of PowerPoint within my application, an ActiveX for instance? What I want is to dynamically create the number of slides I need, add textboxes to the slides and run the show. I need for an object that...
0
966
by: Michael B. Trausch | last post by:
Hello, everyone. I am doing some searching and winding up a little bit confused. I have a MUD client that I am writing using Python and wxWidgets, as some of you may remember. What I am looking to do now, is add "trigger" functionality to it. In essence, the application receives text from the game, and if it is in any of the trigger definitions, it acts on it by executing Python code that the user has associated with the action. ...
3
8243
by: duyanning | last post by:
I have written a pyhton script that will process data file in current working directory. My script is in an different directory to data file. When I debug this script using pdb within emacs, emacs will change the current working directory to the directory which include the script, so my script cannot find the data file. I think this is the problem of emacs because when I start pdb from console directly, it will not change current...
3
2271
by: Ilyas | last post by:
Hi all What is the recommended way for using Linq within a 3 Tier project? Many thanks
0
9655
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
9498
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10172
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
0
8993
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
7517
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
5398
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
5535
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
4069
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
3670
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.