Back to Devexpress

MapWebRequestEventArgs.Proxy Property

windowsforms-devexpress-dot-xtramap-dot-mapwebrequesteventargs-15c36f2c.md

latest4.2 KB
Original Source

MapWebRequestEventArgs.Proxy Property

Gets or sets proxy information for the request.

Namespace : DevExpress.XtraMap

Assembly : DevExpress.XtraMap.v25.2.dll

NuGet Package : DevExpress.Win.Map

Declaration

csharp
public IWebProxy Proxy { get; set; }
vb
Public Property Proxy As IWebProxy

Property Value

TypeDescription
IWebProxy

The IWebProxy that is used to proxy the request.

|

Remarks

The following example shows how to use a WebProxy object to specify the request proxy settings. To pass the user Credentials with a web request, use a NetworkCredential object.

csharp
using System;
using System.Net;
using System.Windows.Forms;
using DevExpress.XtraMap;
// . . .
private void OnFormLoad(object sender, EventArgs e) {
    // Create a map.
    MapControl map = new MapControl();         
    map.Dock = DockStyle.Fill;
    map.ZoomLevel = 3;
    map.CenterPoint = new GeoPoint(40, -100);
    this.Controls.Add(map);
    ImageLayer layer = new ImageLayer();
    map.Layers.Add(layer);

    // Configure the map tile provider.
    BingMapDataProvider provider = new BingMapDataProvider();
    provider.BingKey = "Your Bing key here.";
    provider.WebRequest += OnProviderWebRequest;
    layer.DataProvider = provider;
}
private void OnProviderWebRequest(object sender, MapWebRequestEventArgs e) {
    e.Credentials = new NetworkCredential("userName", "password");
    e.Proxy = new WebProxy("http://proxyserver:80/", true);
}
vb
Imports System
Imports System.Net
Imports System.Windows.Forms
Imports DevExpress.XtraMap   
' . . .
Private Sub OnFormLoad(ByVal sender As Object, ByVal e As EventArgs)
    ' Create a map.
    Dim map As MapControl = New MapControl
    map.Dock = DockStyle.Fill
    map.ZoomLevel = 3
    map.CenterPoint = New GeoPoint(40, -100)
    Me.Controls.Add(map)
    Dim layer As ImageLayer = New ImageLayer
    map.Layers.Add(layer)
    ' Configure the map tile provider.
    Dim provider As BingMapDataProvider = New BingMapDataProvider
    provider.BingKey = "Your Bing key here."
    provider.WebRequest = (provider.WebRequest + OnProviderWebRequest)
    layer.DataProvider = provider
End Sub

Private Sub OnProviderWebRequest(ByVal sender As Object, ByVal e As MapWebRequestEventArgs)
    e.Credentials = New NetworkCredential("userName", "password")
    e.Proxy = New WebProxy("http://proxyserver:80/", true)
End Sub

Enable the UseDefaultCredentials property to use default credentials that the app.config file can contain in the defaultProxy element.

csharp
private void OnProviderWebRequest(object sender, MapWebRequestEventArgs e) {
    e.UseDefaultCredentials = true;
}
vb
Private Sub OnProviderWebRequest(ByVal sender As Object, ByVal e As MapWebRequestEventArgs)
    e.UseDefaultCredentials = true
End Sub

You can also implement a custom proxy. To do this, you should create a class that implements the IWebProxy interface. Then assign an object of this class to the Proxy property.

See Also

MapWebRequestEventArgs Class

MapWebRequestEventArgs Members

DevExpress.XtraMap Namespace