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

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

tượng ở xa không thể trực tiếp phát sinh sự kiện đến một lớp bình thường vì lớp bình
thường không thể được truy xuất từ các miền ứng dụng khác.

Bạn phải thay đổi các file cấu hình của client và server để cho phép “full serialization”
(điều này không cần thiết với .NET 1.0).

Dưới đây là lớp khả-truy-xuất-từ-xa mà bạn có thể sử dụng để phát sinh một sự kiện đến
client. Lớp này cung cấp phương thức

StartTask

để khởi chạy một bộ định thời, phát sinh sau

một thời gian ngắn (khoảng 10 giây). Khi bộ định thời phát sinh, đối tượng khả-truy-xuất-từ-
xa dựng lên sự kiện

TaskComplete

.

using System;

using System.Timers;

public delegate void TaskCompleted(object sender,

TaskCompleteEventArgs e);

public class RemoteObject : MarshalByRefObject {

public event TaskCompleted TaskComplete;

private Timer tmr = new Timer();

public void StartTask() {

tmr.Interval = 10000;

tmr.Elapsed += new ElapsedEventHandler(tmrCallback);

tmr.Start();

}

private void tmrCallback(object sender, ElapsedEventArgs e) {

tmr.Enabled = false;

if (TaskComplete != null) {

TaskComplete(this,

new TaskCompleteEventArgs("Task completed on server"));

}

}

public override object InitializeLifetimeService() {

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.