Tôi có một dịch vụ WCF được lưu trữ trong một ứng dụng web (IIS). Tôi cần hiển thị 1 điểm kết thúc trên wsHttp
và điểm kết thúc khác trên netTcp
. Tôi đang trên một môi trường IIS7 mà làm cho nó có thể cho tôi để lưu trữ các dịch vụ dựa trên HTTP không. Dù sao, khi tôi duyệt. svc
tập tin sử dụng một trình duyệt, tôi nhận được lỗi:WCF được lưu trữ trong một ứng dụng Web và chế độ tương thích
The service cannot be activated because it does not support ASP.NET compatibility. ASP.NET compatibility is enabled for this application
Bởi googling, tôi nhận ra rằng WCF chạy trong hai chế độ - Mixed và ASP.NET tương thích. Khi tôi áp dụng thuộc tính
[AspNetCompatibilityRequirements(
RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
Tuy nhiên, dường như khi tôi áp dụng thuộc tính này cho việc triển khai Hợp đồng dịch vụ, tôi không thể sử dụng ràng buộc không phải HTTP.
Làm thế nào để thiết lập nó để:
- tôi có thể hỗ trợ thiết bị đầu cuối HTTP không
- Tôi có thể lưu trữ các dịch vụ trên một ứng dụng Web
- tôi không tạo ra nhiều dịch vụ một với aspnet tính năng tương thích được bật và tính năng khác đã tắt
Bạn có đang sử dụng tính năng ASP.NET không? Nếu vậy thì cái nào? Nó có thể được gỡ bỏ? –
Chưa - cho đến nay (Không chắc chắn Nếu tôi sẽ sử dụng phiên hoặc ngữ cảnh trong tương lai). Bạn có nói rằng nếu tôi không sử dụng bất kỳ tính năng asp.net, tôi sẽ có thể tắt AspNetCompatibility và vẫn lưu trữ nó trong một máy chủ web? – DotnetDude
tại sao bạn không tiếp xúc với dịch vụ bằng cách sử dụng dịch vụ windows? Tôi nghĩ rằng đầu tiên và thứ hai là không thể thực hiện trừ khi bạn sử dụng WAS. –