2014-01-17 59 views
0

我正在使用HTTPHandler上傳文件。我使用下面的代碼來調用.ashx文件,並且我在處理程序中設置了一個斷點,它不會觸及斷點。HTTPHandler Processrequest()不會從.cs文件調用

private void UploadFile(HttpPostedFile uPostedFile) 
{ 
    UriBuilder ub = new UriBuilder(Request.Url.Scheme, Request.Url.Host, Request.Url.Port,ResolveUrl("FileUploadHandler.ashx")); 
    ub.Query = string.Format("filename={0}", uPostedFile.FileName); 
    var data = uPostedFile.InputStream; 

    var request = (HttpWebRequest)WebRequest.Create(ub.Uri); 
    request.Method = "POST"; 
    data.CopyTo(request.GetRequestStream()); 
    request.BeginGetResponse(DataUploadCompleted, request); 
} 


private void DataUploadCompleted(IAsyncResult ar) 
{ 
    var request = (HttpWebRequest)ar.AsyncState; 
    var response = request.EndGetResponse(ar); 
    //some code 
} 

但是,如果我瀏覽.ashx文件Processrequest()得到執行。 請讓我知道我是否缺少代碼。

回答

0

你把斷點放在DataUploadCompleted方法中。你是否得到迴應?如果是,那麼檢查它是哪種響應。這可能有助於解決您的問題。

+0

嗨尼汀,感謝您的即時回覆。我在DataUploadCompleted方法中放置了斷點。但它甚至沒有達到該方法。一旦執行上傳文件方法,它會在網站上顯示上傳文件頁面。什麼也沒發生 – user3205887

+0

它是否完全執行UploadFile方法?嘗試啓用拋出CLR運行時異常。轉到Debug >> Exceptions,在異常窗口中選中Common Language Runtime Exception複選框。現在它會拋出任何CLR運行時異常,並且可能會從中獲得更多細節。 –