2009-09-28 1 views
0

을 던지는 달려 나가 ClickOnce를 설치하고 우리의 도메인에 모든 시스템에서 나를 (내 하고 UserLogin) 작동하지만 가입이 시작되지 않습니다로 배포 의 WinForm 응용 프로그램 정규 도메인 사용자.앱은 내가 가진 대신 예외

어떤 종류의 오류이 무한정 앉아 있습니다. 오류가 발생하지 않습니다. 그것 을 작동하는 데 사용되었고 나는 지금 그것이 작동하지 않는다는 것을 무엇이 바뀌 었는지에 관해서 분실하고 있습니다.

을 찾는 데있어서 완전히 손실되었습니다. 나는 DomainUser을 가져다가 DomainAdmin (나 같은)로 올리려고했지만 아무 것도 바뀌지 않았습니다. 나는 이것이 다소 모호하다는 것을 알고 있지만 사람들이 이것에 대해 가질 수있는 통찰력을 찾고있다.

문제를 해결하는 방법?
어디에서 볼 수 있습니까?

무엇이든이 인정됩니다.


"멈춤"의 원인이 무엇인지 발견했습니다. 그 이유는 아직 이해가되지 않습니다.

  try 
     { 
      HUD.CurrentUserRole = new ConnectBLL.BLL.RoleAccess(HUD.CurrentUser); 
      sbrHUD_SecureRole.Text += " " + HUD.CurrentUserRole.RoleDescription; 
     } 
     catch (Exception exception) 
     { 
      exception.LogError(this); 
     } 

내 테스트 사용자, 말콤 레이놀즈, RoleAccess에 의해 반환 된 역할을()하지 않습니다. 내가 왜 이해하지 못하는 이유는 거기에 매달려있는 이유와 오류를 던지기 때문입니다.

LogError은 내 사서함으로 예외를 전자 메일로 보내고 사용자에게 친숙한 방식으로 오류를 표시하는 확장 방법입니다.

 public static void LogError(this Exception exception, DevExpress.XtraEditors.XtraForm whichForm) 
    { 
     var fileName = GetDesktopImage(whichForm); 

     SendExceptionMail(exception, fileName); 

     ExceptionMessageBox box = new ExceptionMessageBox(exception); 
     box.Show(whichForm); 
    } 

    private static void SendExceptionMail(Exception exception, String fileName) 
    { 
     try 
     { 
      SmtpClient smtpClient = new SmtpClient("WWCMAIL"); 
      var innerExceptionMessage = String.Empty; 
      if (exception.InnerException != null) 
      { 
       innerExceptionMessage = exception.InnerException.Message; 
      } 
      var stackTrace = exception.StackTrace; 
      var source = exception.Source; 

      MailMessage message = new MailMessage 
       { 
        From = new MailAddress("[email protected]"), 
        Subject = Environment.UserName + ": MATRIX Application Error", 
        Body = 
         "***THE EXCEPTION***\n" + exception.Message + "\n\n***THE INNER EXCEPTION***\n" + 
         innerExceptionMessage + "\n\n***THE STACK TRACE***\n" + stackTrace + "\n\n***THE SOURCE***\n" + source 
       }; 

      Attachment attachment = new Attachment(fileName); 
      message.Attachments.Add(attachment); 

      message.To.Add("[email protected]"); 
      message.To.Add("[email protected]"); 
      smtpClient.Send(message); 
     } 
     catch 
     { 
     } 
    } 
+0

"어떤 종류의 오류도 무한정 발생하지 않는다"는 것은 무엇을 의미합니까? –

+1

좀 더 많은 정보를 추가하는 것을 고려해보십시오 : 어디에서/언제 멈 춥니 다, 여분의 어셈블리 등을 사용합니까? –

+0

당신의 주제가 암시하는 것과 같이 허가 문제입니까? –

답변

1

성기사, 당신은 그것을 조금 더 잘 진단해야합니다. 그리고 나서 당신은 스스로 그것을 발견 할 것입니다. 그래서 나는 다음과 같은 질문을한다 : "어떻게되는지 알아내는 방법?"

  1. 일부 가능한 코스를 제거하십시오. 다시 설치 (도메인 사용자 용 및 도메인 사용자 용). 다른 사용자가 설치 한 것을 실행하려고 시도하지 않았습니까?

  2. (약간 숨겨진) 설치 폴더를 찾아서 모든 어셈블리가 있는지 확인하십시오.

  3. 앱이 전혀로드되지 않았습니까? TaskManager를 사용하십시오.

  4. 로드되면 Sytem.Diagnostics.Debug.Print()를 사용하여 진단 로깅을 추가하십시오. DebugView에서 출력을 볼 수 있습니다.

+0

고마워요. 왜 그런 생각이 들었는지 알기 위해 여러 가지 제안을했습니다. :) –