제목은 다음과 같이 다시 작성됩니다. 127.0.0.1:3446에 대한 연결이 대상 시스템에서 적극적으로 거부되었습니다.
P粉497463473
P粉497463473 2023-08-27 13:30:24
0
2
566

WCF4.0 템플릿 -REST를 사용하고 있습니다. 스트림을 사용하여 파일을 업로드하는 방법을 만들려고 합니다.

问题总是发生生

Stream serverStream = request.GetRequestStream();

유류式传输类:

네임스페이스 LogicClass { 공개 클래스 StreamClass : IStreamClass { public bool UploadFile(문자열 파일 이름, 스트림 파일 스트림) { 노력하다 { FileStream fileToupload = new FileStream(파일 이름, FileMode.Create); 바이트[] bytearray = 새 바이트[10000]; int bytesRead, totalBytesRead = 0; 하다 { 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); } 사실을 반환; } } }

REST 项目:

[WebInvoke(UriTemplate = "AddStream/{filename}", 메서드 = "POST", BodyStyle = WebMessageBodyStyle.Bare)] public bool AddStream(문자열 파일 이름, System.IO.Stream 파일 스트림) { LogicClass.FileComponent 나머지 = new LogicClass.FileComponent(); return Rest.AddStream(파일 이름, fileStream); }

Windows 窗体项目:用于测试

private void 버튼24_Click(객체 전송자, EventArgs e) { 바이트[] 파일스트림; (FileStream fs = new FileStream("E:stream.txt", FileMode.Open, FileAccess.Read, FileShare.Read)) 사용 { fileStream = 새 바이트[fs.Length]; fs.Read(fileStream, 0, (int)fs.Length); fs.닫기(); fs.Dispose(); } string baseAddress = "http://localhost:3446/File/AddStream/stream.txt"; HttpWebRequest 요청 = (HttpWebRequest)HttpWebRequest.Create(baseAddress); request.Method = "POST"; request.ContentType = "텍스트/일반"; 스트림 serverStream = request.GetRequestStream(); serverStream.Write(fileStream, 0, fileStream.Length); serverStream.Close(); (HttpWebResponse 응답 = request.GetResponse()를 HttpWebResponse로 사용) { int statusCode = (int)response.StatusCode; StreamReader 리더 = new StreamReader(response.GetResponseStream()); } }

저는 인터넷을 통해 인터넷을 이용하고 있습니다.업로드 방법을 테스트하는 더 좋은 방법이 있습니까?

스택 추적:

<인용문>

System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress 소켓 주소) System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, 소켓 s4, 소켓 s6, 소켓& 소켓, IPAddress& 주소, ConnectSocketState 상태, IAsyncResult asyncResult, Int32 시간 제한, 예외& 예외)


P粉497463473
P粉497463473

모든 응답 (2)
P粉254077747

컴퓨터를 다시 시작할 필요가 없습니다. 대신 IIS를 다시 시작하십시오.

    P粉270842688

    "활성 거부"는 연결을 시도했을 때 호스트가 승인 대신 재설정을 보냈음을 의미합니다. 따라서 이것은 코드에서 문제가 되지 않습니다. 방화벽이 연결을 차단하고 있거나 서비스를 호스팅하는 프로세스가 포트에서 수신 대기하고 있지 않습니다. 전혀 실행되지 않거나 다른 포트에서 수신 대기 중이기 때문일 수 있습니다.

    서비스 호스팅 프로세스를 시작한 후netstat -anb(관리자 권한 필요)를 사용하여 해당 서비스가 예상 포트에서 실행 중이고 수신 대기 중인지 확인하세요.

    업데이트: Linux에서는netstat -anp을 수행해야 할 수도 있습니다.

      최신 다운로드
      더>
      웹 효과
      웹사이트 소스 코드
      웹사이트 자료
      프론트엔드 템플릿
      회사 소개 부인 성명 Sitemap
      PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!