2013-05-15 15 views
17

Tôi đang sử dụng VS 2012.Update Service Reference không hoạt động trong WCF

tôi thêm các dịch vụ tham khảo cho dự án WPF của tôi, nhưng khi tôi đã thay đổi dịch vụ của tôi và cập nhật tài liệu tham khảo phục vụ Reference.svcmap của tôi -> Reference. Tệp CS sẽ trống và tôi không thể sử dụng tham chiếu nữa. Tôi có thể nhìn thấy nó trong dự án, nhưng tôi không thể sử dụng.

thiết lập của tôi về Dịch vụ Tài liệu bao gồm: - nộp enter image description here

Reference.cs

//------------------------------------------------------------------------------ 
// <auto-generated> 
//  This code was generated by a tool. 
//  Runtime Version:4.0.30319.17929 
// 
//  Changes to this file may cause incorrect behavior and will be lost if 
//  the code is regenerated. 
// </auto-generated> 
//------------------------------------------------------------------------------ 
+0

Điều gì về việc sử dụng svcutil để tạo tham chiếu dịch vụ? – cvraman

+0

xóa tham chiếu dịch vụ khỏi dự án của bạn và làm sạch giải pháp lần nữa thêm nó cùng tên và kiểm tra – Damith

+0

@Damith Tôi thử ngay bây giờ. và tham chiếu thời gian này được thêm vào nhưng không có Phương thức và không có gì sẽ đến với Ứng dụng ClientApplication của tôi – ujjaval

Trả lời

1

Có vài điều bạn có thể làm đầu tiên làm sạch các giải pháp, xóa các thư mục đầu ra và các tài liệu tham khảo phục vụ. Khởi động lại Visual Studio và cấu hình lại dịch vụ web. Hi vọng điêu nay co ich.

+0

làm cách nào tôi có thể xóa thư mục đầu ra? bạn có thể vui lòng cho tôi biết – ujjaval

+0

@ujjaval trong trình khám phá giải pháp có nút không "hiển thị tất cả các tập tin" khi bạn bấm vào đó bạn có thể thấy 'Bin', 'Thư mục Obj' – Damith

+0

ok Tôi xóa tất cả các dll và biên dịch tập tin và sau đó khởi động lại VS 2012 và một lần nữa lại cấu hình nhưng vẫn cùng một vấn đề. :( – ujjaval

3

Nếu bạn không thể duyệt URL, bạn sẽ không thể thêm tham chiếu dịch vụ. Hãy thử lưu trữ dịch vụ web của bạn cục bộ trong IIS. Khi bạn có thể duyệt URL, bạn có thể thêm tham chiếu dịch vụ.

23

bỏ chọn hộp kiểm Tái sử dụng các loại trong hội đồng tham chiếu và đặt địa chỉ dịch vụ mới của bạn vào hộp văn bản Địa chỉ.

+0

+ 1, nhưng tùy chọn có vấn đề là "Sử dụng lại các kiểu trong tất cả các assembly được tham chiếu" một mình. Nếu bạn bỏ chọn tùy chọn có vấn đề này và chọn các assembly thích hợp từ danh sách, lớp được tạo ra nên được OK. –

+0

Cảm ơn, đã gặp sự cố với tham chiếu dịch vụ của tôi, đây là câu trả lời tôi cần. Bây giờ tôi có thể sử dụng các đối tượng EF của tôi. (dưới dạng một mảng nhưng vẫn còn) – user1841243

+0

Điều này làm việc cho tôi – RAY

4

Trong khi định cấu hình tham chiếu dịch vụ, hãy thêm /mex (địa chỉ điểm cuối của bạn bằng mexHttpBinding) ở cuối URL dịch vụ của bạn.

https://service.domain.com/serivce1.svc/mex

này sẽ cho phép trao đổi metadata. Vì vậy, Reference.cs sẽ được sửa đổi/bổ sung (nếu bạn đang thêm tham chiếu dịch vụ lần đầu tiên).

Chỉnh sửa: Khi phân tích, tôi thấy rằng vấn đề này xảy ra khi dịch vụ (triển khai một ServiceContract) được hiển thị qua nhiều điểm kết thúc.

Sự cố này có thể tránh được bằng cách sử dụng các Hợp đồng dịch vụ (Giao diện) khác nhau cho mỗi điểm kết thúc và làm cho lớp dịch vụ (service1) triển khai tất cả các Giao diện này.

1

Bỏ chọn tùy chọn sử dụng lại tùy chọn Dịch vụ cập nhật hoạt động tốt.

0

Có thể do điều khiển nguồn của Team Foundation. Hãy thử nhấp chuột phải vào dịch vụ ref và chọn "Kiểm tra để chỉnh sửa ..." Hơn tham chiếu dịch vụ cập nhật một lần nữa.

+0

Đây là câu hỏi từ năm 2013. Vì vậy, giá trị trong việc cung cấp câu trả lời ngay bây giờ sẽ dành cho những người dùng tương lai có thể có vấn đề tương tự. Do đó, câu trả lời cho các câu hỏi cũ như thế này chỉ nên được cung cấp nếu họ có thể xác định rõ ràng vấn đề và giải thích/cung cấp một giải pháp. – MikeC