Вот мой код как на стороне клиента, так и на стороне сервера. Мой код прост, просто загрузите файл на веб-сайт ASP.Net.
Мой клиентский код генерирует исключение, когда он работает в Vista (x64, Enterprise, SP1), но отлично работает в Windows Server 2003.
Есть идеи?
10.10.12.162 - это адрес моего сервера.
[Код]
Клиент:
static void Main(string[] args)
{
Console.Write("\nPlease enter the URI to post data to : ");
String uriString = Console.ReadLine();
WebClient myWebClient = new WebClient();
Console.WriteLine("\nPlease enter the fully qualified path of the file to be uploaded to the URI");
string fileName = Console.ReadLine();
Console.WriteLine("Uploading {0} to {1} ...", fileName, uriString);
DateTime begin = DateTime.Now;
byte[] responseArray = null;
try
{
responseArray = myWebClient.UploadFile(uriString, fileName);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
Console.WriteLine(ex.ToString());
}
DateTime end = DateTime.Now;
Console.WriteLine("Elapsed time is: {0}", (end - begin).TotalMilliseconds);
}
Сервер:
public partial class FileUploadHandler : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
foreach (string f in Request.Files.AllKeys)
{
HttpPostedFile file = Request.Files[f];
file.SaveAs("D:\\UploadFile\\UploadedFiles\\" + file.FileName);
}
}
}
Исключение со стороны клиента:
Невозможно подключиться к удаленному серверу
System.Net.WebException: невозможно подключиться к удаленному серверу ---> System.Net.
Sockets.SocketException: не может быть установлено соединение, потому что целевой компьютер
активно отказался от этого 10.10.12.162:1031
в System.Net.Sockets.Socket.DoConnect (EndPoint endPointSnapshot, SocketAddre
ss socketAddress)
в System.Net.ServicePoint.ConnectSocketInternal (логическое connectFailure, Sock
et s4, Socket s6, Сокет и сокет, IP-адрес и адрес, состояние ConnectSocketState,
IAsyncResult asyncResult, Тайм-аут Int32, Исключение и исключение)
--- Конец внутренней трассировки стека исключений ---
at System.Net.WebClient.UploadFile (адрес Uri, строковый метод, строковый fileNam
е)
в FileUploadClient.Program.Main (String [] args) в D: \ UploadFile \ FileUploadClient \ Program.cs: строка 30
[/ Код]
С уважением,
George