2009-06-26 28 views
9

Tôi muốn tạo một ứng dụng .NET sử dụng nhiều phiên bản của điều khiển WebBrowser. Việc nắm bắt là tôi muốn mỗi điều khiển trình duyệt web sẽ chạy phiên riêng của nó. IOW, tôi có yêu cầu rằng tập hợp các cookie phiên, không gian tên chung javascript, vv là riêng biệt cho từng trường hợp và tất cả các phiên bản xuất hiện trong cùng một cửa sổ.Nhiều phiên/tiến trình WebBrower trong một cửa sổ

AFAIK, điều này sẽ yêu cầu tôi chạy từng điều khiển trình duyệt web trong một quy trình riêng biệt.

Một vài câu hỏi:

  1. là giả định của tôi về nhiều quy trình được yêu cầu có đúng không?
  2. Có thể khiến mỗi cá thể WebBrowser trong một ứng dụng Windows Forms đơn lẻ chạy trong một tiến trình riêng biệt không?

Cảm ơn trước ...

+0

Xin chào, tôi thấy điều này được trả lời, nhưng bạn đã quản lý như thế nào? Tôi tạo ra cho VB6 (trong trường hợp của tôi) ứng dụng sử dụng thành phần WebBrowser và họ vẫn chia sẻ cùng một phiên. Dunno nếu tôi nên đăng một câu hỏi khác .. – Vlagged

Trả lời

9

Hiện nay, không có, bạn có thể không thực hiện cách ly loại này sử dụng điều khiển trình duyệt web mà không cần đặt mỗi trường hợp trong một quá trình khác nhau.

Bạn có thể chạy từng điều khiển trong máy chủ COM ngoài quy trình hoặc phiên bản mới của ứng dụng, nếu thích hợp.

+0

Tôi đang có cùng một nhu cầu OP, nhưng không có giải pháp trong túi của tôi. Tôi đã thử đặt một số điều khiển 'WebBrowser' trong biểu mẫu của tôi: họ chia sẻ cùng một phiên, tôi biết (thật đáng buồn, nhưng tôi biết). Vấn đề thậm chí còn chạy nhiều phiên bản ứng dụng của tôi, họ vẫn chia sẻ cùng một phiên: Tôi nghĩ điều này là do quá trình Internet Explorer vẫn như cũ. Bạn có lời khuyên nào không? Cảm ơn – Marco

+2

Phiên điều khiển trình duyệt web 'được phân tách theo quy trình; nếu bạn thấy một số loại "chia sẻ" có nghĩa là có một cookie (không phải phiên) liên tục. – EricLaw

2

Có thể thực hiện việc đó nếu bạn có thể truy cập tệp máy chủ ([Windows]/system32/drivers/etc/hosts).

Chỉ cần đặt một cái gì đó như thế này vào các tập tin host:

127.0.0.1 web1 
127.0.0.1 web2 
127.0.0.2 web3 
... 

(thay thế địa chỉ ip với ip máy chủ của bạn) và sau đó bạn có thể trỏ nhiều trường hợp bạn của WebBrowser để ví dụ http://web1/.., v.v. Mỗi phiên bản WebBrowser sẽ chạy một phiên riêng biệt. Nó hoạt động tốt. Những bất lợi là bạn cần (programmaticaly) quản lý tập tin host, mà có thể là một vấn đề an ninh là tốt.

Các vấn đề liên quan