C# Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript

C# Examples

Bounced Mail
Bz2
Character Encoding
CSV
Digital Certificates
Digital Signatures
Email
FTP
HTML to XML
HTTP
IMAP
Encryption
MHT / HTML Email
MIME
POP3
RSA
S/MIME
SMTP
Socket
Spider
SSH
SSH Tunnel
SSH Key
SFTP
Tar Archive
Upload
XML
XMP
Zip Compression


More Examples...
Email Object
DKIM / DomainKey
NTLM
FileAccess
RSS
Atom
String
Byte Array
Self-Extractor
Service
PPMD
Deflate
DH Key Exchange
DSA
Bzip2
LZW

 

 

 

 

 

 

HTTP in a Background Thread (Asynchronous HTTP)

This example shows the technique one would follow to run any Chilkat HTTP method in a background task. (Only HTTP methods that communicate with an HTTP server are background-enabled. Methods that perform no HTTP communications return immediately and never need to be backgrounded.)

Download Chilkat .NET for 2.0 / 3.5 Framework

Download Chilkat .NET for 64-bit 2.0 / 3.5 Framework (x64)

Download Chilkat .NET for 1.0 / 1.1 Framework

Chilkat.Http http = new Chilkat.Http();

bool success;

//  Any string unlocks the component for the 1st 30-days.
success = http.UnlockComponent("Anything for 30-day trial");
if (success != true) {
    MessageBox.Show(http.LastErrorText);
    return;
}

//  To run an HTTP method asynchronously in a background thread, set
//  the UseBgThread property equal to true
http.UseBgThread = true;

//  For those programming languages that support event callbacks:
//  events are not fired when a task is running in the background thread.
//  Instead, Chilkat has added the "event log" mechanism.  While the
//  background task is running, events that normally would've been fired
//  are accumulated in the event log.  Your application may periodically check
//  the event log to keep track of the progress of the background task.
//  To enable event logging, set the KeepEventLog property = true
http.KeepEventLog = true;

//  Start an asynchronous HTTP download in a background thread.
//  The method will return cktrue if the task was successfully started.
//  Note: When the UseBgThread property = true, all methods involving
//  HTTP communications will be asynchronous.  These methods include:
//  SynchronousRequest, QuickGetStr, QuickGet, PostUrlEncoded, XmlRpc,
//  XmlRpcPut, QuickPutStr, QuickGetObj, QuickDeleteStr, PutText,
//  PutBinary, PostBinary, PostMime, GetHead, DownloadAppend, etc.
success = http.Download("http://www.chilkatsoft.com/download/ChilkatJava.zip","ChilkatJava.zip");
if (success != true) {
    textBox1.Text += http.LastErrorText + "\r\n";
    return;
}
else {
    textBox1.Text += "Initiated asynchronous HTTP download..." + "\r\n";
}

//  Write a loop to wait for the background task to complete.
//  Your application would typically do something different than this --
//  after all... there's no point in doing the task asynchronously if your application
//  is simply going to wait for it to complete -- that's the same as doing it synchronously,
//  and that could've been achieved by a single call to the http.Download method
//  with the UseBgThread = false.
//  However... we do this here for the purpose of demonstration...
while ((http.BgTaskRunning == true)) {
    //  Show the events in the event log that have accumulated so far...
    int n;
    n = http.EventLogCount;
    if (n > 0) {
        int i;
        for (i = 0; i <= n - 1; i++) {
            textBox1.Text += http.EventLogName(i)
                 + ": " + http.EventLogValue(i) + "\r\n";
        }

        http.ClearEventLog();
    }

    //  In some programming languages, you might wish to handle user-interface events
    //  For example, in C#  you might call Application.DoEvents()

    //  Sleep .1 seconds -- to keep the CPU from being 100% busy...
    http.SleepMs(100);
}

//  Once the background task has completed, check it for success/failure:
if (http.BgTaskSuccess) {
    textBox1.Text += "Background task completed successfully." + "\r\n";
}


 

Need a specific example? Send a request to support@chilkatsoft.com

© 2000-2010 Chilkat Software, Inc. All Rights Reserved.

Email Component · XML Parser