2010-03-15 32 views
6

WCF Tùy chọn nhị phân qua TCP, nó chỉ áp dụng cho Intranet hoặc Internet không?WCF với nhị phân qua TCP

TCP chỉ áp dụng cho Intranet?

+0

Bạn muốn * thực hiện điều gì bằng cách chuyển sang TCP? Có thể có các lựa chọn khác (có lẽ tốt hơn) không liên quan đến việc mở lỗ. –

+0

@Marc - Tôi chỉ đang cố gắng hiểu và khám phá các tùy chọn có sẵn. Tôi biết và đã sử dụng HTTP. Đang cố gắng để biết các tùy chọn khác (TCP cho bây giờ), và ưu và khuyết điểm của họ. – user274915

Trả lời

2

Câu trả lời là: tùy thuộc. Theo như tôi biết, mã hóa nhị phân của WCF yêu cầu cả hai điểm cuối là các điểm cuối WCF (hiện tại sẽ giới hạn bạn với Windows trừ khi/cho đến khi Mono hỗ trợ mã hóa nhị phân). Vấn đề khác là liệu bạn có thể đến được cổng mà máy chủ từ xa đang lắng nghe hay không. Một trong những lý do chạy các dịch vụ qua HTTP đã trở nên rất phổ biến là cổng 80 là nhiều hơn nữa để được mở.

+0

+1 chính xác - theo lý thuyết, nó chỉ hoạt động tốt - nhưng đó là TCP - không phải HTTP - vì vậy mong đợi các sự cố tường lửa và đầu kia của bạn cũng phải nói cùng một tcp/ip ràng buộc với mã hóa nhị phân, vì vậy nó chỉ hữu ích nếu bạn kiểm soát cả hai đầu của truyền thông, thực sự. –

+0

Cảm ơn. Vì vậy, theo bạn nếu tôi mở cổng 434 (Hoặc bất cứ điều gì cho TCP), tôi sẽ có thể truy cập nó qua internet? Hoặc tôi có cần thiết lập VPN Tunnel với Client không? – user274915

+0

@ jobless-spt - Những thứ bạn cần làm để truy cập cổng từ xa sẽ khác nhau tùy thuộc vào cấu hình bảo mật của mạng. Bạn sẽ cần nói chuyện với những người IT/Sec địa phương của bạn để sắp xếp. Tuy nhiên, lưu ý rằng những người bảo mật có lẽ sẽ rất miễn cưỡng khi đưa ra một cổng bổ sung cho các mạng bên ngoài; và nếu không, bạn có thể cần những người bảo mật mới. –

3

Bộ nối tiếp và vận chuyển phần lớn không liên quan. Có các ràng buộc được cấu hình sẵn cho các kịch bản phổ biến, nhưng sự hiểu biết của tôi là bạn có thể cắm bộ nối tiếp nhị phân (NetDataContractSerializer) vào bất kỳ phương tiện nào. Hoặc viết của riêng bạn ;-p

Tuy nhiên - một khác nhau vận chuyển có thể phức tạp hơn để định cấu hình (tường lửa, v.v ...) so với HTTP thuần túy.

See here (mặc dù tôi sẽ tranh chấp tuyên bố tốc độ, tôi đã nhìn thấy NetDataContractSerializerđè bẹp nhân dịp ...)


Re bình luận - không quá nhiều các vận chuyển (tôi nghi ngờ bạn' tốt nhất nên ở lại với http), nhưng hãy xem xét thisthis. Một bộ nối tiếp nhị phân thay thế, tuyệt vời để gửi một số loại tin nhắn. Và nó chơi độc đáo với MTOM (hơn http).

+0

Cảm ơn Marc. Có bất kỳ tài liệu tham khảo nào bạn có thể cung cấp về các hạn chế đối với giao thức không phải HTTP. Tôi cần phải hiểu, cho dù chúng ta có thể sử dụng các giao thức khác qua internet hay không? Nếu có thể, những gì nó cần để làm điều đó (mở cổng, vv)? – user274915

+0

@ jobless-spt: thêm một số liên kết –

+0

+1, Nhị phân qua HTTP là một sự thỏa hiệp tốt. Nó có khả năng lưu trữ các dịch vụ trong IIS (Tôi không thể cho bạn biết lần cuối cùng tôi bận tâm để viết WCF host của riêng tôi) và nó là tường lửa thân thiện. Chi phí HTTP có thể rất thấp nếu bạn không phát trực tuyến hoặc trò chuyện thường xuyên. – Josh

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