2011-09-04 5 views
6

Tôi có ứng dụng biểu mẫu C# kết nối với thiết bị điện tử bằng cổng nối tiếp. Lớp "'SerialCommunicationManager'" nối tới cổng nối tiếp khi khởi động ứng dụng và xử lý công việc bẩn thỉu của việc nói chuyện với thiết bị.Làm cách nào để hiển thị tốt nhất các phương pháp trong WinForm?

Điều tôi muốn là hiển thị các phương pháp sau.

  • Write()
  • SerialDataReceived kiện
  • SerialDataTransmitted kiện

Vốn là một trang web địa phương chạy trên cùng một máy là một trong tôi muốn để lộ các phương pháp, nhưng trong tương lai tôi hãy tưởng tượng sự cần thiết cho các ứng dụng bên ngoài.

Cách dễ nhất để hiển thị chức năng là gì?

  • Máy chủ TCPIP của khách hàng?
  • Dịch vụ web? (Tôi có thể tạo một dịch vụ web bên trong WinForm không?)
  • khác?

nhờ Big

// David

enter image description here

+0

Tôi không hiểu ngữ cảnh; bạn bắt đầu với Windows Forms và kết thúc với các trang web. Tôi không hiểu. –

+0

Ứng dụng Biểu mẫu được kết nối với một thiết bị điện tử. Tôi muốn các ứng dụng khác (chẳng hạn như một trang web) để có thể xem trạng thái của thiết bị cũng như gửi lệnh đến thiết bị đó. Câu hỏi lớn là: Làm cách nào để cho phép các ứng dụng khác nói chuyện với thiết bị. – David

Trả lời

4

Tôi muốn giới thiệu self-hosting a WCF Service. Điều này cung cấp cho bạn một số lượng lớn tính linh hoạt về cách bạn phân phát và hiển thị thông tin này, bao gồm cả việc có thể thay đổi phương thức mà qua đó nó được phân phát qua cấu hình.

1

Dường như với tôi, rằng nếu bạn muốn làm điều đó đúng, bạn nên phá vỡ ứng dụng các hình thức của bạn, và tạo:

  • một dịch vụ để xử lý comm nối tiếp và có một API tiếp xúc qua remoting
  • một ứng dụng hình thức sử dụng API và làm cho một chặng đường với dịch vụ

Sau đó, tùy thuộc vào địa bàn của trang web của bạn, nếu nó sẽ vẫn còn địa phương (hoặc gần địa phương - LAN):

  • trang web nên sử dụng remoting gọi cho dịch vụ

khác, nếu bạn có kế hoạch để có nhiều trang web:

  • dịch vụ web lưu trữ bên trong IIS sẽ quấn Remoting API
  • trang web sẽ sử dụng dịch vụ web

Tuy nhiên, nếu quá nhiều việc phải làm - chỉ cần sử dụng tính năng truy cập từ xa và hiển thị các phương pháp cần thiết cho web trang web.

1

Trong một dự án gần đây chúng tôi đã làm như sau:

  • Viết một ứng dụng Console (hoặc Windows Service, tùy thuộc vào nhu cầu của bạn) mà giao tiếp với các thiết bị điện tử.
  • Đặt ứng dụng Bảng điều khiển lưu trữ dịch vụ .NET 4 WCF.
  • Viết ứng dụng .NET 2 Windows Forms để giao tiếp thông qua Dịch vụ Web bằng ứng dụng bảng điều khiển.

Trong ngữ cảnh này, tôi có thể tưởng tượng trang web bạn đang đề cập đến cũng sử dụng Dịch vụ web (WSDL) để giao tiếp với ứng dụng Console.