Creates the
System.Net.WebClient object used for asynchronous operations.
Syntax
Visual Basic (Declaration) | |
---|
Public Sub UseAsync() |
Visual Basic (Usage) | Copy Code |
---|
Dim instance As RasterCodecs
instance.UseAsync() |
C# | |
---|
public void UseAsync() |
C++/CLI | |
---|
public:
void UseAsync(); |
Example
This example will use UseAsync to create the System.Net.WebClient object used by a RasterCodecs object for asyncrounous operations. It will then change the cache policy of the web client object before loading an image asynchronously.
Visual Basic | Copy Code |
---|
Public Sub UseAsyncExample()
Dim srcFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp")
Dim uri As New Uri(srcFileName)
Dim codecs As New RasterCodecs()
' The RasterCodecs.AsyncWebClient is Nothing first
Debug.Assert(Not IsNothing(codecs.AsyncWebClient))
' Force the RasterCodecs object to create it
codecs.UseAsync()
' Change the Cache policy
codecs.AsyncWebClient.CachePolicy = New System.Net.Cache.RequestCachePolicy(System.Net.Cache.RequestCacheLevel.CacheOnly)
' Now Load the file asynchronously
AddHandler codecs.LoadAsyncCompleted, AddressOf useAsyncExample_LoadAsyncCompleted
Dim image As RasterImage = codecs.LoadAsync(uri, Nothing)
End Sub
Private Sub useAsyncExample_LoadAsyncCompleted(ByVal sender As Object, ByVal e As CodecsLoadAsyncCompletedEventArgs)
If e.Cancelled Then
Console.WriteLine("User canceled")
ElseIf Not IsNothing(e.Error) Then
Console.WriteLine("Error: " + e.Error.Message)
Else
' Get the image
Dim image As RasterImage = e.Image
Console.WriteLine("Image loaded asynchronously: Size = {0} by {1}", image.Width, image.Height)
image.Dispose()
End If
' Unsubscribe to the event and dispose the RasterCodecs object
Dim codecs As RasterCodecs = DirectCast(sender, RasterCodecs)
RemoveHandler codecs.LoadAsyncCompleted, AddressOf useAsyncExample_LoadAsyncCompleted
codecs.Dispose()
End Sub
Public NotInheritable Class LEAD_VARS
Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class |
C# | Copy Code |
---|
public void UseAsyncExample()
{
string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp");
Uri uri = new Uri(srcFileName);
RasterCodecs codecs = new RasterCodecs();
// The RasterCodecs.AsyncWebClient is null first
Debug.Assert(codecs.AsyncWebClient == null);
// Force the RasterCodecs object to create it
codecs.UseAsync();
// Change the Cache policy
codecs.AsyncWebClient.CachePolicy = new System.Net.Cache.RequestCachePolicy(System.Net.Cache.RequestCacheLevel.CacheOnly);
// Now Load the file asynchronously
codecs.LoadAsyncCompleted += new EventHandler<CodecsLoadAsyncCompletedEventArgs>(useAsyncExample_LoadAsyncCompleted);
RasterImage image = codecs.LoadAsync(uri, null);
}
private void useAsyncExample_LoadAsyncCompleted(object sender, CodecsLoadAsyncCompletedEventArgs e)
{
if(e.Cancelled)
{
Console.WriteLine("User canceled");
}
else if(e.Error != null)
{
Console.WriteLine("Error: " + e.Error.Message);
}
else
{
// Get the image
RasterImage image = e.Image;
Console.WriteLine("Image loaded asynchronously: Size = {0} by {1}", image.Width, image.Height);
image.Dispose();
}
// Unsubscribe to the event and dispose the RasterCodecs object
RasterCodecs codecs = sender as RasterCodecs;
codecs.LoadAsyncCompleted -= new EventHandler<CodecsLoadAsyncCompletedEventArgs>(useAsyncExample_LoadAsyncCompleted);
codecs.Dispose();
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
} |
SilverlightCSharp | Copy Code |
---|
|
SilverlightVB | Copy Code |
---|
|
Remarks
Requirements
Target Platforms: Silverlight, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7, MAC OS/X (Intel Only)
See Also