2008-09-11 41 views
18

Từ những gì tôi thấy thẻ bị bỏ qua khi lưu trữ dịch vụ WCF trong IIS. Tôi hiểu rằng khi tự lưu trữ này là bắt buộc nhưng điều này có hại hay thậm chí được sử dụng khi hoạt động trong IIS không?Câu hỏi về tập tin cấu hình dịch vụ WCF liên quan đến <baseAddresses>

ví dụ:

<system.serviceModel> 
    <service blah blah blah> 
    <host> 
     <baseAddresses> 
     <add baseAddress="http://localhost/blah" /> 
     </baseAddresses> 
    </host> 
    </service> 
</system.serviceModel> 

Từ những gì tôi thấy bạn có thể lấy tệp cấu hình mô tả dịch vụ từ một máy và sử dụng trên máy hoàn toàn khác và hoạt động tốt. Dường như IIS hoàn toàn bỏ qua phần này.

Cảm ơn, kyle

Trả lời

34

Như các bạn đã đoán ra, các yếu tố baseAddresses là hoàn toàn bỏ qua khi lưu trữ trong IIS. Địa chỉ cơ sở của dịch vụ được xác định bởi trang web & thư mục ảo mà dịch vụ wcf của bạn được đặt.

Ngay cả khi tự lưu trữ, baseAddresses là không bắt buộc. Nó chỉ đơn thuần là một sự tiện lợi giúp bạn phải nhập địa chỉ đầy đủ cho mỗi điểm cuối. Nếu nó có mặt, các điểm cuối có thể có các địa chỉ tương đối (liên quan đến địa chỉ cơ sở, đó là).

+3

Vì vậy, tương đối điểm cuối địa chỉ sẽ không làm việc trừ khi một baseAddress được chỉ định, mặc dù baseAddress url bị bỏ qua? – codeulike

2

địa chỉ cơ sở bắt buộc để tự lưu trữ. Các máy chủ IIS/WAS bỏ qua địa chỉ cơ sở.

2

Theo tài liệu MSDN Microsoft trong liên kết dưới đây, giữa trang trong phần Ghi chú nêu rõ, "Dịch vụ được lưu trữ trong Dịch vụ thông tin Internet (IIS) hoặc Dịch vụ kích hoạt quy trình Windows (WAS) sử dụng thư mục ảo làm cơ sở của chúng địa chỉ nhà."

http://msdn.microsoft.com/en-us/library/ee358768(v=vs.110).aspx

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