2014-03-25 3 views
1

격리 된 상태로 테스트 할 때 잘 작동하는 Domino 세션에 연결하려고하지만 스레드에 넣 자마자 문제가 발생합니다.멀티 스레딩을 통해 C#의 NotesSession에 연결

단위 테스트를 실행할 때 제대로 작동하므로 잘 서버에 연결할 수 있습니다. 코드 최적화 나 때문에 내가 스레드에 넣고 때

NotesSession session = new NotesSession(); 
string DominoPassword = Helpers.GetConfigSetting("DominoPassword"); 
session.Initialize(DominoPassword); 

그러나 나는 다음과 같은 오류가 (여러 번 도미노에 연결할 수 있어야합니다) "{식을 계산할 수 없습니다 네이티브 프레임입니다 } "

답변

0

몇 년 전에 C#의 멀티 스레드 Domino Interop 테스트와 관련해서는 분명히 멀었습니다. 나는 그 오류를보고 기억하지 않는다. 우리의 각각의 dev/test 환경의 차이 때문일 수 있습니다. 하지만 오래 전부터 테스트를했을 때의 환경을 기억하지 못합니다.

그러나 Domino 개체가 스레드로부터 안전한지 여부는 열려있는 질문입니다. here을 참조하십시오. 내가 아는 한, IBM은 자신들이 그렇게 말한 적이 없다. (또한 마지막으로 내가 확인한 시간에 IBM은 Win32 응용 프로그램에서도 Win64 플랫폼에서 클래스가 지원되지 않으므로 문제가 발생할 수 있다고 말했습니다.

+0

안녕하세요. 답장을 보내 주셔서 감사합니다. 스택 오버플로, 32/64 문제가 확실하지 않습니다. 스레딩에서 제거 할 때 연결이 작동하도록 할 수 있습니다. 스레딩을 사용하는 코드가 있습니까? 해당 스레딩을 확인하고 싶습니다. 고마워 – Jonk

+0

나는 확신 할 수 없다. 나는 그것을 찾아야 할 것이다. 아마도 아마 dev VM에 있었을 것이다. 아마도 아직 존재할 것이지만, 그것을 찾아야 할 것이다. –

+0

나는 코드를 찾았다. 원하는 경우 어딘가에 게시하십시오. 그러나 주요 차이점이 두드러집니다. NotesSession을 기본으로 초기화하고 문서를 검색하며 문서를 스레드에 전달합니다 .t마다 새 NotesSession을 초기화하지 않았습니다. hread. 스레드로 전달 된 NotesDocument 레벨 이상이 필요하면 NotesDatabase를 가져 오기 위해 doc.parent를 사용하고 NotesSession을 가져 오기 위해 db.parent를 사용했습니다. 스레드가 동일한 데이터베이스, 뷰 등에서 작동하지 않도록 코드를 설계했습니다. –

관련 문제