我正试图纠正这一点,因为我觉得我错过了一些东西。using
每当我有一个IDisposable
对象时,我都想使用关键字。请注意代码有效,我只是想优化它。
我在这里有两个问题:
1)对于此代码:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
像这样添加是什么意思(HttpWebRequest)
?我要转换WebRequest
成HttpWebRequest
?
为什么我不能这样做?
HttpWebRequest rq = new HttpWebRequest();
rq.Create(url);
2)在下面的功能代码中,我将如何using
在适用的情况下使用关键字?
public static int UploadFileToixLibrary(string url, string file)
{
NetworkCredential credentials = new NetworkCredential();
credentials.UserName = AppVars.Username;
credentials.Password = AppVars.Password;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Credentials = credentials;
request.Method = "POST";
request.ContentType = "image/tiff";
request.Headers.Add("X-Object-Key", Path.GetFileName(file));
byte[] bytes = File.ReadAllBytes(file);
Stream st = null;
try
{
request.ContentLength = bytes.Length;
st = request.GetRequestStream();
st.Write(bytes, 0, bytes.Length);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return 1;
}
finally
{
if (st != null)
{
st.Close();
}
}
try
{
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader sr = new StreamReader(response.GetResponseStream());
response.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return 1;
}
return 0;
}