2011-08-24 15 views
5

Tôi khá mới để lưu trữ các ứng dụng web và dịch vụ web. Mặc dù tôi đã thành công trong việc lưu trữ một ứng dụng web, tôi đang chạy vào khối đường sau khi chặn đường khi cố gắng để lưu trữ một dịch vụ WCF với ràng buộc net.tcp.Lưu trữ dịch vụ WCF với ràng buộc net.tcp thông qua Trình quản lý IIS 7.5

Kịch bản của tôi như sau, tôi có một ứng dụng web được lưu trữ cần giao tiếp với dịch vụ WCF được lưu trữ với ràng buộc net.tcp thông qua IIS 7.5. Như đã nêu, ứng dụng web được lưu trữ tốt và tôi có thể duyệt trang web. Tuy nhiên, ứng dụng web làm cho các cuộc gọi dịch vụ đến dịch vụ WCF và tôi nhận được thông báo 'TCP mã lỗi 10061' mà tôi tin là do dịch vụ WCF được lưu trữ của tôi không chạy. Tôi nghĩ rằng điều này không chạy vì tôi cố gắng để 'telnet localhost 808' để xem các dịch vụ WCF đang chạy và nó không phải là. Tôi đã chạy qua nhiều hướng dẫn trực tuyến và tôi vẫn không có may mắn. Tôi tin rằng tôi có thể làm một cái gì đó về cơ bản sai với tôi là một noob và tất cả. Tôi có thể lưu trữ các dịch vụ thông qua VS2010 và chạy các ứng dụng web và nó hoạt động tốt vì vậy tôi tin rằng bindings của tôi là chính xác. Tôi cũng đã kích hoạt giao thức TCP trên cả hai trang web trong IIS Manager.

Vì vậy, tôi đoán câu hỏi thực sự của tôi là các bước quản lý IIS cần thiết để lưu trữ một dịch vụ WCF với ràng buộc net.tcp là gì? Nó xuất hiện với tôi rằng nó không thể lưu trữ một dịch vụ net.tcp thông qua IIS Manager bằng cách đơn giản tạo một trang web vì IIS Manager muốn liên kết với một cổng http.

+0

Bạn đã bao giờ tìm ra điều này chưa? Tôi đã tạo phiên bản câu hỏi của riêng mình, nhưng có vẻ như tôi có thể đang gặp phải vấn đề tương tự như bạn. http://stackoverflow.com/questions/16628382/setting-up-wcf-tcp-service-in-a-web-application –

Trả lời

4

Dưới đây là một số điều cần kiểm tra:

  • Đảm bảo các cửa sổ dịch vụ net.tcp Listener Adaptor đang chạy
  • Đảm bảo netTcp được liệt kê như là một giao thức cho trang web của bạn (Trong IIS Manager, đi đến Nâng cao cài đặt cho trang web của bạn)
  • Đảm bảo netTcp được liệt kê dưới dạng giao thức được bật cho ứng dụng (thư mục) đang lưu trữ dịch vụ của bạn (Trong IIS Manager, đi tới thư mục lưu trữ dịch vụ của bạn và chọn Cài đặt nâng cao)
  • Đảm bảo trang IIS của bạn có một bindi ng cho net.tcp, với số cổng chính xác được liệt kê.

EDIT:
Xem trang MSDN sau đây cho phép/sử dụng các ràng buộc phi HTTP trong Net 4 + IIS 7/7.5:

Configuring the Windows Process Activation Service for Use with Windows Communication Foundation

+2

Ngoài ra, hãy bật tính năng Windows (cài đặt các thành phần Windows), trong Microsoft.NET Framework 3.5. 1 - Windows Communication Foundation Kích hoạt không HTTP –

+0

Cảm ơn bạn đã phản hồi nhanh. – David

+0

Cảm ơn bạn đã phản hồi nhanh. Dịch vụ Net.TcpListenerAdapter đang chạy. netTCP cũng là giao thức enbabled trên cả ứng dụng web và dịch vụ web. 808: * là giao thức netTCP. Kích hoạt WCF non-Http cũng được cài đặt. Tôi cũng đã thêm Dịch vụ WCF của mình vào Trang web mặc định và nơi mà cổng netTCP 808 bị ràng buộc. Một câu hỏi khác, dịch vụ WCF của tôi bị ràng buộc vào cổng 808 như thế nào? Nó sẽ được thông qua tập tin web.config của tôi? Ngoài ra dịch vụ WCF bắt đầu như thế nào? Trạng thái Trình quản lý IIS chỉ hiển thị 'Không xác định' cho ràng buộc netTCP trong Trang Web Mặc định. Cảm ơn một lần nữa. – David

1

Và tôi phát hiện ra rằng đối với tôi nó didn 't làm việc để sử dụng localhost ... Bạn nên sử dụng 127.0.0.1 hoặc tên của máy tính của bạn.