2008-11-07 27 views
6

Tôi đang cố gắng thiết lập dịch vụ WCF với nhiều điểm cuối bằng một trong các điểm cuối bằng cách sử dụng hành vi điểm cuối enableWebScript sao cho proxy Javascript sẽ được tạo trên máy khách (jsdebug/js).Không tìm thấy proxy proxy WCF khi địa chỉ điểm cuối không trống

Khi thêm tham chiếu dịch vụ vào AJAX ScriptManager, không tìm thấy tệp jsdebug trừ khi địa chỉ của điểm cuối trống. Proxy ScriptManager dường như luôn tạo một đường dẫn "MyService.svc/jsdebug" để tìm tệp mặc dù dịch vụ của tôi có địa chỉ là "ajax". Proxy sẽ tạo đường dẫn là "MyService.svc/ajax/jsdebug".

Có cài đặt để nhận Proxy được tạo bằng đúng đường dẫn không? Dịch vụ của tôi ở gốc trang web của tôi.

công trình:

<endpoint address="" 
    behaviorConfiguration="ajaxBehavior" 
    binding="webHttpBinding" 
    bindingConfiguration="webBinding" 
    contract="MyTest.Web.ICustomerService" /> 

muốn điều này (không hoạt động):

<endpoint address="ajax" 
    behaviorConfiguration="ajaxBehavior" 
    binding="webHttpBinding" 
    bindingConfiguration="webBinding" 
    contract="MyTest.Web.ICustomerService" /> 
+0

địa chỉ cơ sở của bạn là gì? bạn đang kết nối vào đúng đường dẫn như www.mydomain.com/service.svc/ajax? – balexandre

+0

Bạn đã sử dụng cài đặt nào cho trình quản lý tập lệnh của mình ..? – markt

Trả lời

2

<enableWebScript /> còn được gọi là các điểm cuối AJAX-enabled cơ bản cứng mã tất cả mọi thứ để làm với địa chỉ để bạn có thể tạo ra mã phía máy khách.

Cách mã hóa cứng là mọi thứ liên quan trực tiếp đến tệp .svc.

Xem How to: Use Configuration to Add an ASP.NET AJAX Endpoint

Các thiết bị đầu cuối được cấu hình tại một địa chỉ trống tương đối so với các tập tin .svc, vì vậy dịch vụ bây giờ đã có và có thể được gọi bằng cách gửi yêu cầu tới service.svc/<operation> - ví dụ, service.svc/Add cho hoạt động Add.

Vì lý do này, bạn không thể kết hợp <enableWebScript /> với UriTemplate, điều này sẽ lấy đi một nửa niềm vui từ WCF theo ý kiến ​​của tôi. Xem enableWebScript, UriTemplate, and HTTP methods.

Cá nhân, tôi muốn định cấu hình URI của mình và phục vụ cả POX và JSON, cũng như SOAP. Xem WCF RESTful POX, JSON and SOAP Coexist.

1

Trong ScriptManager, hãy đặt MyService.svc/ajax thay vì MyService.svc

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