У меня есть веб-ссылка на сервер отчетов, встроенная в наше приложение. Однако сервер, на котором хранятся отчеты, может измениться, и я хотел бы иметь возможность менять его "на лету", если это необходимо.
Я знаю, что уже делал это раньше, но не могу вспомнить, как. Спасибо за помощь.
На данный момент я обхожу это вручную. Нет ничего сложного в том, чтобы задать URL в коде, но я хотел бы выяснить, как "правильно" это сделать в VS 2008. Может ли кто-нибудь дать какие-либо дополнительные подсказки? Спасибо!
В VS2008, когда я изменяю свойство URL Behavior на Dynamic, я получаю следующий код, автоматически генерируемый в классе Reference.
Могу ли я переопределить эту настройку (MySettings) в web.config? Наверное, я не знаю, как работают настройки.
Public Sub New()
MyBase.New
Me.Url = Global.My.MySettings.Default.Namespace_Reference_ServiceName
If (Me.IsLocalFileSystemWebService(Me.Url) = true) Then
Me.UseDefaultCredentials = true
Me.useDefaultCredentialsSetExplicitly = false
Else
Me.useDefaultCredentialsSetExplicitly = true
End If
End Sub
EDIT
Итак, этот материал немного изменился со времен VS03 (которая была, вероятно, последней версией VS, которую я использовал для этого).
Согласно: http://msdn.microsoft.com/en-us/library/a65txexh.aspx, похоже, что у меня есть объект settings, для которого я могу установить свойство программно, но мне нужно предоставить логику для получения URL из web.config.
Это новый стандартный способ сделать это в VS2008, или я что-то упустил?
РЕДИТ #2
У кого-нибудь есть идеи? Я обошел это в своем приложении и просто поместил URL в мой web.config сам и считал его. Но меня это не устраивает, потому что все равно кажется, что я что-то упускаю.
В окне свойств измените "поведение" на Dynamic.
Если вы имеете в виду VS2005 "Web Reference", то сгенерированные классы прокси имеют свойство URL, которое является конечной точкой SOAP url этого сервиса. Вы можете изменить это свойство и заставить ваши последующие http-коммуникации осуществляться к этой новой конечной точке.
Edit: Ah, thanks bcaff86. Я не знал, что это можно сделать, просто изменив свойство.