나는 C# Windows 서비스에서 WatiN을 호출합니다. WatiN을 호출하면 다음과 같은 예외가 발생합니다. CurrentThread ApartmentState 스레드를 시작하고WatiN : CurrentThread가 ApartmentState를 ApartmentState.STA로 설정하여 Internet Explorer를 자동화 할 수 있어야합니다.
mythread.SetApartmentState(ApartmentState.STA)
를 통해 아파트 상태를 설정 내가 시도
을 Internet Explorer를 자동화 할 수 있도록 ApartmentState.STA로 설정되어 있어야하지만 다른 오류
결과코드가 최적화되었거나 네이티브 프레임이 호출 스택 위에 있기 때문에 표현식을 평가할 수 없습니다.
또한 서비스 엔트리 포인트에 속성을 추가하려고 시도했습니다.
static class Program
{
[STAThread]
static void Main()
{
...
아이디어가 있으십니까?
두 번째 (굵게) 오류 . 더 많은 코드를 보여줄 수 있습니까? 비슷한 요구 사항을 가지고 있고 새로운 스레드를 만들고 ApartmentState를 설정하고 .Start()를 호출 한 다음 .Join() - 본질적으로 STA 바인딩 된 항목 만 수행하는 것은 저에게 잘 맞았습니다. –
더 자세히 설명합니다.내 WATiN 코드를 호출하는 내 서비스 및 SetApartmentState (ApartmentState.STA) 내에서 스레드를 만들었습니다. 다음 예외가 발생했습니다. – Jonathan
안녕하세요 Benjamin! 실제로 당신은 정확합니다! 내 스레드에 합류하지 못했습니다. 답으로 게시해야합니다;) – Jonathan