2013-06-28 3 views
-1

웹 서비스에서 반환 된 웹 예외를 사용하고 있습니다. 서비스는 Silverlight 응용 프로그램에서 호출됩니다. 기본적으로 나는 eps 파일을 png로 변환하려고 시도하고있다. localhost에서 모든 것이 잘 작동하지만 웹 서버에 배포 할 때이 오류가 발생합니다. 실버 코드입니다 -웹 서비스가 오류를 반환했습니다 : 찾을 수 없음

private void btnUploadImage_Click(object sender, RoutedEventArgs e) 
     { 
      string fileextn = string.Empty; 
      OpenFileDialog openDialog = new OpenFileDialog(); 
      if (openDialog.ShowDialog() == true) 
      { 
       try 
       { 
        string fileExtension = openDialog.File.Extension.ToString(); 
        if (fileExtension.Contains("jpeg") || fileExtension.Contains("jpg") || fileExtension.Contains("png") || fileExtension.Contains("tif") || fileExtension.Contains("tiff") || fileExtension.Contains("bmp") || fileExtension.Contains("gif")) 
        { 

         using (Stream stream = openDialog.File.OpenRead()) 
         { 
          HtmlPage.Window.Invoke("showProcessingAndBlockUI"); 
          // Don't allow really big files (more than 2 MB). 
          if (stream.Length < 5 * 1024 * 1025) 
          { 
           MemoryStream tempStream = new MemoryStream(); 
           byte[] data = new byte[stream.Length]; 
           stream.Position = 0; 
           stream.Read(data, 0, (int)stream.Length); 
           tempStream.Write(data, 0, (int)stream.Length); 
           stream.Close(); 
           ProductConfiguratorServiceClient pcs = new ProductConfiguratorServiceClient(); 
           string virtualpath = HelperClass.GetVirtual(); 
           pcs.Endpoint.Address = new System.ServiceModel.EndpointAddress(virtualpath + "/Services/ProductConfiguratorService.svc/basic"); 
           pcs.GetFormattedImageCompleted += new EventHandler<GetFormattedImageCompletedEventArgs>(pcs_GetFormattedImageCompleted); 
           pcs.GetFormattedImageAsync(data); 
           pcs.CloseAsync(); 
           tempStream.Close(); 
          } 
          else 
          { 
           MessageBox.Show("Files must be less than 5 MB."); 
          } 
         } 
        } 
        else if (openDialog.File.Extension.Contains("eps")) 
        { 
         HtmlPage.Window.Invoke("showProcessingAndBlockUI"); 
         using (Stream stream = openDialog.File.OpenRead()) 
         { 
          if (stream.Length < 5 * 1024 * 1025) 
          { 
           MemoryStream tempStream = new MemoryStream(); 
           byte[] data = new byte[stream.Length]; 
           stream.Position = 0; 
           stream.Read(data, 0, (int)stream.Length); 
           tempStream.Write(data, 0, (int)stream.Length); 
           stream.Close(); 
           ProductConfiguratorServiceClient pcs = new ProductConfiguratorServiceClient(); 
           string virtualpath = HelperClass.GetVirtual(); 
           pcs.Endpoint.Address = new System.ServiceModel.EndpointAddress(virtualpath +                        "/Services/ProductConfiguratorService.svc/basic"); 
           pcs.GetEpsFileIntoPngCompleted += new EventHandler<GetEpsFileIntoPngCompletedEventArgs>(pcs_GetEpsFileIntoPngCompleted); 
           pcs.GetEpsFileIntoPngAsync(data); 
           tempStream.Close(); 
          } 
          else 
          { 
           MessageBox.Show("Files must be less than 5 MB."); 
          } 
         } 
        } 
        else 
        { 
         MessageBox.Show("Please Check the Image Format."); 
        } 
       } 
       catch (Exception) 
       { 
        HtmlPage.Window.Invoke("hideBlockUI"); 
        MessageBox.Show("Somr Error Occured, Please Try Again Later ."); 
       } 
      } 

     } 

     void pcs_GetEpsFileIntoPngCompleted(object sender, GetEpsFileIntoPngCompletedEventArgs e) 
     { 
       busi.CurrentlySelectedOverlayImage.UploadedImageStream = e.Result; 
       busi.CurrentlySelectedOverlayImage.ImageFileType = "png"; 
       RefreshStatus(); 
       busi.CurrentlySelectedOverlayImageChanged = true; 
       HtmlPage.Window.Invoke("hideBlockUI"); 
     } 

     void pcs_GetFormattedImageCompleted(object sender, GetFormattedImageCompletedEventArgs e) 
     { 
      try 
      { 
       if (e.Error != null) 
       { 
        MessageBox.Show(e.Error.ToString()); 
       } 
       else 
       { 
        busi.CurrentlySelectedOverlayImage.UploadedImageStream = e.Result; 
        busi.CurrentlySelectedOverlayImage.ImageFileType = "jpeg"; 
        RefreshStatus(); 
        busi.CurrentlySelectedOverlayImageChanged = true; 
       } 
      } 
      catch (Exception ex) 
      { 
       MessageBox.Show(ex.ToString()); 
      } 

      //throw new NotImplementedException(); 
     } 

오류 System.Net.Browser.BrowserHttpWebRequest이다.

어떤 종류의 문제가 있는지 알려주세요.

답변

0

이 줄과 관련이있을 수 있습니다.

pcs.Endpoint.Address = new System.ServiceModel.EndpointAddress(virtualpath + 

당신은 나머지가 누락되었습니다. 그래도 이것은 컴파일 오류입니다.

그래서이 오류가 발생하고 일반 오류가 발생하거나 다른 문제가 발생합니다.

+0

본인은 완전한 주소를 제공합니다. 그래서 내가이 일을해야합니까? –

+0

위에 나열된 코드에 컴파일 오류가 있습니다. 의심의 여지가 없습니다. 그 내부의이 조건부 else if (openDialog.File.Extension.Contains ("eps")) –

+0

그러면 localhost를 통해 어떻게 성공적으로 실행될 수 있습니까 ?? 가능한 경우이 문제를 해결할 수있는 방법을 제공해주십시오. –