CÁC GIẢI PHÁP LẬP TRÌNH C# - Trang 497

497

Chương 12: Dịch vụ Web XML và Remoting

thay cho SOAP formatter (mặc định). -->

<!--

<serverProviders>

<formatter ref="binary"/>

</serverProviders>

-->

</channel>

</channels>

</application>

</system.runtime.remoting>

</configuration>

Client có thể sử dụng đối tượng được quản lý trong IIS giống như đối tượng được quản lý
trong một host tùy biến. Tuy nhiên, tên thư mục ảo sẽ là một phần của URI. Ví dụ, nếu file
Web.config vừa trình bày ở trên được đặt trong thư mục ảo

http://localhost/RemoteObjects

thì

URL đầy đủ sẽ là

http://localhost/RemoteObjects/RemoteObject.rem

.

Khi quản lý một đối tượng với IIS, tài khoản được sử dụng để thực thi đối tượng
là tài khoản ASP.NET
(được định nghĩa trong file machine.config). Nếu tài
khoản này không có quyền truy xuất cơ sở dữ liệu (là trạng thái mặc định), bạn
sẽ gặp lỗi khi chạy ví dụ này. Để giải quyết vấn đề này, bạn hãy xem mục 7.17.

10.

10.

Phát sinh s ki n trên kênh truy xu t t xa

ự ệ

ấ ừ

Phát sinh s ki n trên kênh truy xu t t xa

ự ệ

ấ ừ

Bạn cần tạo một client có thể nhận một sự kiện do đối tượng ở xa phát sinh.

Phải chắc rằng bạn đang sử dụng các kênh hai chiều (bidirectional channel). Tạo
một đối tượng khả-truy-xuất-từ-xa bên client (có thể nhận sự kiện từ server).

Mặc dù cú pháp thụ lý sự kiện không hề thay đổi khi bạn sử dụng .NET Remoting, nhưng bạn
cần tạo một client có thể thụ lý sự kiện từ một đối tượng ở xa. Dưới đây là các yêu cầu chính:

Lớp khả-truy-xuất-từ-xa phải sử dụng chế độ được-client-kích-hoạt (client-activated)
hay chế độ kích hoạt đơn-nhất (singleton activation)

không phải chế độ kích hoạt gọi-

một-lần (single-call activation). Điều này bảo đảm đối tượng vẫn “còn sống” giữa các
lần gọi phương thức, cho phép nó phát sinh sự kiện đến client.

Client phải sử dụng kênh hai chiều để nó có thể nhận các kết nối do server khởi tạo.

Đối tượng

EventArgs

phải là khả-tuần-tự-hóa để nó có thể được chuyển qua các biên

miền ứng dụng.

Client phải sử dụng một đối tượng khả-truy-xuất-từ-xa để nhận sự kiện (được gọi là
listener). Theo đó, listener sẽ dựng một sự kiện cục bộ mà client có thể xử lý được. Đối

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.