2009-11-23 5 views
0

Я сделал свою программу в соответствии с примером 1, который был создан для .NET framework 2, но я преобразовал его в .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, используя новейшие фреймворки, и все работает правильно, как только я правильно установил порт.

Что касается отладки сервера, если вы размещаете серверную половину проекта из визуальной студии (каким бы вы были, если бы вы следовали за этим парнем в примере CSharpCorner), вы уже должны отлаживать серверный компонент, просто поставить точку останова в сервере codebehind.

Смежные вопросы