2014-04-11 5 views
0

이상한 문제가 발생했습니다 (대부분 내 코드가 완전하지 않을 수 있음). 다음 코드가 제대로 실행되지만 변경 사항이 발생하지 않는 이유를 알려주세요. 내가 간다면 신원 탭을 살펴 봐도 아무것도 바뀌지 않았습니다. OS는 1 하나는 그것이 무엇을 의미하는지 알 수 있을까 = 그것은 ccc.SaveChanges()가 오류 코드를 반환 밝혀졌다 윈도우 2008 서버COM + 응용 프로그램 ID가 설정되지 않았습니다.

COMAdminCatalog cc = new COMAdminCatalog); 
COMAdminCatalogCollection ccc = (COMAdminCatalogCollection)cc.GetCollection("Applications"); 
ccc.Populate(); 
foreach(COMAdminCatalogObject cap in ccc){ 
    if(cap.Name.ToString() == config.Application){ 
    //cap.set_value("Authentication",COMAdminAuthenticationLevelOptions.COMAdminAuthenticationConnect)//I have changed all options here but no effect 
cap.set_Value("Identity", config.user); 
cap.set_Value("Password", config.password); 
ccc.SaveChanges();//breakpoint here 
    } 
} 

R2입니까? MS 문서에서 반환 된 오류 코드는 0x800401 등의 16 진수 값입니다 (방금 작성한 것)

답변

0

나는 이것을 직접 (매일 새로운 것을 배울 수 있습니다!)이 결과는 잘하면 문제를 파악할 수 있습니다. 내 응용 프로그램을 발견, 그래서 내가 configccc.SaveChanges()까지 디버깅에서 귀하의 예제 :

에 무엇인지 알 수 없기 때문에

나는 새 COM + 서버 응용 프로그램을 만들고 작은 변화 (코드를 복사 -이 행이 잘못되었을 경우 예외가 발생합니다. 내가 관리자로 Visual Studio를 내 코드를 실행하여

내가 ccc.SaveChanges()이 일한 한 후 그 고정 - - 내 경우, 나는 UnauthorizedAccessException있어 내 ID 탭에 가서 올바르게 사용자와 암호를 업데이트 (코드에 잘못된 사용자 이름이나 암호를 입력하면 예외가 발생합니다.

당신이 얻는 반환 유형은 1입니다. 나는 믿을만한 오류 코드가 아닙니다. 그것은 내 것이 무엇을 반환하고 잘 작동하고 있기 때문입니다.

ccc.SaveChanges()trycatch으로 둘러 볼 수 있으며 예외가 발생하는지 확인할 수 있습니다.

이 정보가 도움이되기를 바랍니다.

+0

우선 감사의 많은 이것을 들여다 볼 시간을 가졌기 때문입니다. 이제는이 문제가 더욱 어려워졌습니다. 이 코드를 테스트 한 모든 컴퓨터에서이 코드를 관리자로 사용하고 있음을 알려드립니다. 나는 3 개의 다른 컴퓨터에서이 코드를 테스트 한 .. 내가 놓친 게 생각 정말 바보 같은, 1 : WINXP SP2 2 : 윈도우 7 SP1 3 : Win2008 서버 R2 그것은 세 가지 시스템에 잘 실행, 오류없이, 예외는 아니지만 변경이 발생하지 않습니다 ... 당신이 친절하게도 내가 그게 어디에서 일했는지 .net 프레임 워크 버전을 알려주시겠습니까? 또는 가능한 경우 테스트 응용 프로그램 코드를 보내 주시겠습니까? – user1063108

0

우선 나를 도와 주실 시간을 내 주셔서 감사합니다. 내 변경 사항이 표시되지 않은 이유는 무엇보다 멍청한 것입니다. 테스트 한 3 대의 컴퓨터에서 일관성이 있습니다. 여기 내가 알아 차린 것이있다. 위의 코드를 실행할 때마다 오류가 없었기 때문에 작동했지만 구성 요소 서비스 콘솔에서 변경 사항을 볼 수 없었습니다. 엉망인 부분은 구성 요소 서비스 콘솔을 완전히 닫은 다음 다시 시작해야한다는 것입니다. 그때 만 나는 변화를 볼 수 있었다. 이 동작은 테스트 한 모든 세 시스템에서 일관되었습니다. 1 : WINXP SP3 2 : 윈도우 7 SP1 3 : 윈 2008 서버 R2 내가 그렇게 단지의 경우 다른 어떤 사람이 바보 동작을 볼 수 있습니다이 설명하고

...

+0

이상! 알아 낸 게 다행입니다. 나는 이것도 알아 차렸다. 내 ID 탭을 열고 코드를 실행 한 경우 업데이트되지 않았습니다.업데이트를 위해 할 수있는 또 다른 작업은 구성 요소 서비스 콘솔의 동작 메뉴로 이동하여 새로 고침을 클릭하는 것입니다. 불행히도 코드에서 이렇게하는 좋은 방법을 찾지 못했습니다. (('cc.RefreshComponents' 메서드가 있지만 잘 작동하지 않는 것 같습니다) – ryrich

관련 문제