Tôi đang gọi WatiN từ một dịch vụ C# windows. Khi tôi gọi WatiN nó ném ngoại lệ sau đây. Các CurrentThread cần có nó ApartmentState thiết lập để ApartmentState.STA để có thể tự động hóa Internet ExplorerWatiN: The CurrentThread cần có nó ApartmentState thiết lập để ApartmentState.STA để có thể tự động hoá Internet Explorer
Tôi đã thử khởi động một sợi và thiết lập tình trạng căn hộ qua
mythread.SetApartmentState(ApartmentState.STA)
nhưng mà kết liễu lỗi
Không thể đánh giá biểu thức vì mã được tối ưu hóa hoặc khung gốc nằm phía trên ngăn xếp cuộc gọi.
Tôi cũng đã thử thêm thuộc tính vào điểm nhập dịch vụ.
static class Program
{
[STAThread]
static void Main()
{
...
Bất kỳ ý tưởng nào?
Tôi không hiểu được (đậm) lỗi thứ hai . Bạn có thể hiển thị thêm một số mã không? Tôi đã có một yêu cầu tương tự và tạo ra một chủ đề mới, thiết lập các ApartmentState và gọi .Start() theo sau là .Join() - về cơ bản chỉ làm những thứ ràng buộc STA trong đó - làm việc tốt cho tôi. –
Để làm rõ thêm.Tôi tạo ra một chủ đề trong dịch vụ của tôi và SetApartmentState (ApartmentState.STA) gọi mã WATIN của tôi. Điều đó đã ném ngoại lệ sau đây. – Jonathan
Xin chào Benjamin! Thật vậy, bạn là chính xác! Tôi không tham gia chủ đề của mình. Bạn nên đăng tải là câu trả lời;) – Jonathan