2010-02-11 26 views
5

Trong một thời trang khá chuẩn, tôi đã tạo một Tham chiếu Web đến một dịch vụ SOAP ở Jira cho một tiện ích mở rộng mà tôi đang xây dựng (Jira là trình theo dõi vấn đề cho những người không quen thuộc với nó). Visual Studio tự động tạo một tệp .Settings và một app.config có chứa URL dịch vụ web.Bạn có thể thay đổi vị trí/điểm cuối của tham chiếu web động tại thời gian chạy trong .NET không?

Vì tôi đang phát triển tiện ích mở rộng/plugin cho sản phẩm ALM mà chúng tôi đang xây dựng, người tiêu dùng của tiện ích sẽ là người cuối cùng quyết định nơi dịch vụ web này trỏ đến, vì nó sẽ được tích hợp với ví dụ về Jira của người tiêu dùng. Giả sử rằng URL dịch vụ web sẽ được lưu trữ và lấy từ cơ sở dữ liệu.

Làm cách nào để tôi có thể nhận dịch vụ được tạo tự động để sử dụng URL từ cơ sở dữ liệu thay vì từ app.config được tạo?

Lưu ý: chúng tôi đang sử dụng v2.0 của khuôn khổ, vì vậy WCF không phải là một tùy chọn.

Trả lời

10

Ngay cả trong dịch vụ web 2.0, bạn sẽ có thể thay đổi thuộc tính "URL" của proxy dịch vụ web của bạn thành giá trị bạn muốn.

+3

@ John - đừng đổ mồ hôi trên đó, người đàn ông. Tất cả chúng ta đã ở đó. –

+1

Thuộc tính "Url" này nằm ở đâu? – capdragon

+0

.Net 3.5 xuất hiện để xử lý điều này hoàn toàn khác nhau. Tôi sử dụng phương pháp này trong dự án .Net 2.0 cũ của tôi. Bất cứ ai cũng biết làm thế nào để làm điều này với C# 3,5? Tôi giả sử tôi có thể làm cho nó hoạt động bằng cách thay đổi các thiết lập Endpoint.Address, tuy nhiên, điều này không làm việc một địa chỉ sử dụng SSL và khác không. Làm thế nào tôi có thể thiết lập lại Endpoint? – RLH

1

Sử dụng hàm tạo của ứng dụng khách thừa nhận uri.

+0

Nó không có vẻ là trong constructor, tôi đã phải sử dụng tài sản Url như đề xuất bởi Otávio –

+1

Bạn có nó trong constructor, nhưng nó dễ dàng hơn làm việc đó với thuộc tính url như Otavio gợi ý: HelloWorld.HelloWorldClient hello = new HelloWorld.HelloWorldClient ("BasicHttpBinding_IHel loWorld", mới EndpointAddress ("http: // localhost: 8888/BasicHost/HelloWorld")); –

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