Не удалось установить соединение, поскольку целевая машина активно отказалась от него 127.0.0.1:3446C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Не удалось установить соединение, поскольку целевая машина активно отказалась от него 127.0.0.1:3446

Сообщение Anonymous »

Я использую шаблон WCF4.0 -REST. Я пытаюсь создать метод, который загружает файл с помощью потока.

Проблема всегда возникает при

Код: Выделить всё

Stream serverStream = request.GetRequestStream();
Класс для потоковой передачи:

Код: Выделить всё

namespace LogicClass
{
public class StreamClass : IStreamClass
{
public bool UploadFile(string filename, Stream fileStream)
{
try
{
FileStream fileToupload = new FileStream(filename, FileMode.Create);
byte[] bytearray = new byte[10000];
int bytesRead, totalBytesRead = 0;
do
{
bytesRead = fileStream.Read(bytearray, 0, bytearray.Length);
totalBytesRead += bytesRead;
} while (bytesRead > 0);

fileToupload.Write(bytearray, 0, bytearray.Length);
fileToupload.Close();
fileToupload.Dispose();
}
catch (Exception ex) { throw new Exception(ex.Message); }
return true;
}
}
}
Проект REST:

Код: Выделить всё

[WebInvoke(UriTemplate = "AddStream/{filename}", Method = "POST", BodyStyle = WebMessageBodyStyle.Bare)]
public bool AddStream(string filename, System.IO.Stream fileStream)
{
LogicClass.FileComponent rest = new LogicClass.FileComponent();
return rest.AddStream(filename, fileStream);
}
Проект Windows Form: для тестирования

Код: Выделить всё

private void button24_Click(object sender, EventArgs e)
{
byte[] fileStream;
using (FileStream fs = new FileStream("E:\\stream.txt", FileMode.Open, FileAccess.Read, FileShare.Read))
{
fileStream = new byte[fs.Length];
fs.Read(fileStream, 0, (int)fs.Length);
fs.Close();
fs.Dispose();
}

string baseAddress = "http://localhost:3446/File/AddStream/stream.txt";
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(baseAddress);
request.Method = "POST";
request.ContentType = "text/plain";
Stream serverStream = request.GetRequestStream();
serverStream.Write(fileStream, 0, fileStream.Length);
serverStream.Close();
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
{
int statusCode = (int)response.StatusCode;
StreamReader reader = new StreamReader(response.GetResponseStream());
}
}
Я отключил брандмауэр и подключение к Интернету, но ошибка все еще существует. Есть ли лучший способ протестировать метод загрузки?

Трассировка стека:


at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddressocketAddress)
at System.Net.ServicePoint.ConnectSocketInternal(Boolean ConnectFailure, Socket s4, Socket s6, Socket& сокет, IPAddress& адрес, состояние ConnectSocketState, IAsyncResult asyncResult, тайм-аут Int32, исключение и исключение)


Подробнее здесь: https://stackoverflow.com/questions/969 ... d-it-127-0
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»