2009-11-23 2 views
0

.NET Framework 2 용으로 만들어진 예제 1에 따라 프로그램을 만들었지 만 .NET Framework 3.5로 변환했습니다. 이 코드를 수정하여 어떻게 작동시켜야합니까? 어떻게하면 서버 측을 디버그 할 수 있습니까? 서버 측은 수동으로 매개 변수를 URL에 삽입 할 때 작동하므로 문제는 클라이언트 측 코드에 있어야합니다.WebClient가 IHttpHandler에 연결하지 않습니다.

private void UploadFile(string fileName, System.IO.Stream data) 
{ 
    UriBuilder ub = new UriBuilder("http://localhost:59491/receiver.ashx"); 
    ub.Query = string.Format("filename={0}", fileName); 

    WebClient c = new WebClient(); 
    c.OpenWriteCompleted += (sender, e) => 
    { 
     PushData(data, e.Result); 
     e.Result.Close(); 
     data.Close(); 
    }; 
    c.OpenWriteAsync(ub.Uri); 
} 

private void PushData(System.IO.Stream input, System.IO.Stream output) 
{ 
    byte[] buffer = new byte[4096]; 
    int bytesRead; 

    while ((bytesRead = input.Read(buffer, 0, buffer.Length)) != 0) 
    { 
     output.Write(buffer, 0, bytesRead); 
    } 
} 

1http://www.c-sharpcorner.com/UploadFile/nipuntomar/FileUploadsilverlight03182009030537AM/FileUploadsilverlight.aspx

답변

0

내 초기 걸릴 포트 지정자입니다. 이 샘플에서는 요청 URI가 특별히 포트 3840으로 설정되었지만 핸들러를 호스팅 할 때 웹 서버가 해당 포트를 사용하도록 설정을 수정하는 것을 절대로 표시하지 않습니다. 요청 URI가 브라우저에서 핸들러에 수동으로 액세스 할 때와 동일한 포트를 사용하는지 확인하십시오.

EDIT :이 작업을 수행해야한다고 생각합니다. VS2008의 새 프로젝트에서 최신 프레임 워크를 사용하여 샘플을 다시 만들었습니다. 포트가 올바르게 설정되면 모든 것이 올바르게 작동합니다.

서버를 디버깅하는 경우 Visual Studio에서 프로젝트 절반을 호스팅하는 경우 (CSharpCorner 샘플에서 해당 사용자를 추적하는 경우), 서버 구성 요소를 디버깅해야합니다. 서버 코드 숨김 뒤에 중단 점을 넣으십시오.

관련 문제