8

Tôi đang làm việc trong dự án Windows Phone 8 và để sử dụng một số dịch vụ web, tôi đã thêm tham chiếu dịch vụ với một URL cụ thể URL.Thay đổi URL tham chiếu dịch vụ trong mã

Vấn đề của tôi là URL vì nó thay đổi thời gian fom theo thời gian vì vậy tôi cần cho phép người dùng chèn URL mới từ một số menu khi ứng dụng đang chạy.

Tôi biết cách thay đổi nó trong Visual Studio nhưng bây giờ tôi cần phải thay đổi nó trong mã khi ứng dụng đang chạy..so câu hỏi của tôi là: làm cách nào để thay đổi URL trong mã?

Tôi đã thực hiện một số tìm kiếm và tệp "app.config" dường như thực hiện công việc nhưng tôi không có bất kỳ "app.config" nào trong dự án của mình và từ những gì tôi thấy các dự án Windows Phone không sử dụng tập tin như vậy.

+0

bản sao có thể có của [tự động chuyển đổi đường dẫn URL dịch vụ web tham chiếu WCF qua tệp cấu hình] (http://stackoverflow.com/questions/5036308/dynamically-switch-wcf-web-service-reference-url-path -through-config-file) –

Trả lời

23

Chỉ cần thay đổi địa chỉ điểm cuối, ví dụ:

clientProxy.Endpoint.Address = new EndpointAddress(yourUri); 
+1

Phương thức khởi tạo cho lớp 'clientProxy' cũng có thể lấy một URL về cơ bản sẽ làm điều tương tự. –

+0

Trên thực tế nếu bạn muốn chuyển giá trị thông qua hàm tạo như Cory được đề xuất, bạn nên đảm bảo rằng bạn chuyển vào đúng tham số vì có quá nhiều sự cố quá tải của hàm tạo. –

+0

Nếu tôi làm điều này, tôi gặp phải một ngoại lệ không khớp hợp đồng, vì URL được sử dụng khi tạo tham chiếu dịch vụ được mã hóa cứng khác với URL được sử dụng trong hàm tạo cho máy khách. Có vẻ như phương pháp này không thực sự thay đổi địa chỉ điểm cuối? Tôi có thể thiếu một cái gì đó. –