У меня есть код, который отлично работает, когда у меня есть веб-прокси, определенный в Internet Explorer. Однако, если ничего не определено, это не работает. Я хочу проверить, определен ли прокси. Как бы я изменил приведенный ниже код, чтобы сделать это?
public DataTable GetCurrentFxPrices(string url)
{
WebProxy wp = new WebProxy(WebProxy.GetDefaultProxy().Address.AbsoluteUri, true);
wp.Credentials = CredentialCache.DefaultCredentials;
WebClient wc = new WebClient();
wc.Proxy = wp;
MemoryStream ms = new MemoryStream(wc.DownloadData(url));
DataSet ds = new DataSet("fxPrices");
ds.ReadXml(ms);
DataTable dt = ds.Tables["Rate"];
int i = dt.Rows.Count;
return dt;
}
Например, как мне загрузить данные без использования прокси?
UPDATE
Я изменил код на следующий
public DataTable GetCurrentFxPrices(string url)
{
WebClient wc = new WebClient();
if (!String.IsNullOrEmpty(WebProxy.GetDefaultProxy().Address.AbsoluteUri))
{
WebProxy wp = new WebProxy(WebProxy.GetDefaultProxy().Address.AbsoluteUri, true);
wp.Credentials = CredentialCache.DefaultCredentials;
wc.Proxy = wp;
}
MemoryStream ms = new MemoryStream(wc.DownloadData(url));
DataSet ds = new DataSet("fxPrices");
ds.ReadXml(ms);
DataTable dt = ds.Tables["Rate"];
int i = dt.Rows.Count;
return dt;
}
Я получаю следующую ошибку System.NullReferenceException was unhandled by user code
в строке оператора if.
ОБНОВЛЕНИЕ 2
Я также пытался изменить эту строку:
if (!String.IsNullOrEmpty(WebProxy.GetDefaultProxy().Address.AbsoluteUri))
до
if (WebProxy.GetDefaultProxy().Address.AbsoluteUri != null)
но я получаю эту ошибку:
System.NullReferenceException: Object reference not set to an instance of an object.
Есть идеи?