Мне нужно развернуть silverlight 4, где он использует данные из службы WCF. Проблема в том, что это будет производственная установка, и поэтому у меня нет способа контролировать имя сервера службы, а приложение с серебряным светом не будет установлено на том же сервере, что и WCF.Как динамически установить имя сервера службы wcf в silverlight
Запуск по этому пути, вот что я придумал до сих пор:
Я должен передать имя сервера Teh WCF в моем silverligth приложение через initParams.
в файле ASPX я имею
<param name="initparams" value="servicepoint=http://myservice" />
затем в течение App.xaml.cs я называю: параметров
private void Application_Startup(object sender, StartupEventArgs e)
{
this.RootVisual = new MainPage(e.InitParams); //pass parameter from html direclty to main page
}
я назвал это в запуске приложения, так что будет В параметре в объем всего приложения.
Теперь в главной странице я задаю этот параметров переменной
dswconnection = initParams["servicepoint"];
, а затем каждый раз, когда я запрашиваю службу я установить адрес, чтобы переопределить, что по умолчанию в файле сервис refernece.config
QueryClient selAct = new QueryClient("BasicHttpBinding_IQuery");
selAct.Endpoint.Address = new System.ServiceModel.EndpointAddress(dswconnection);
Мой вопрос ... это лучший подход или есть другой способ динамически идентифицировать имя сервера службы, когда вы не знаете, что это за имя сервера. Это ключевой момент, когда я не могу использовать некоторые функции для определения имени или адреса хоста в канале, поскольку приложение silverlight будет находиться на другом хосте, чем WCF.
В настоящее время значение, переданное initparams, сохраняется в файле конфигурации, который считывается javascript, а затем присваивается как значение. В моем коде здесь я жестко закодировал его для краткости.
Спасибо за любые предложения.
Спасибо Fresky, задача, с которой мы столкнулись здесь, заключалась в том, что это приложение нужно было развернуть на нескольких сайтах. Вместо того, чтобы вручную редактировать каждый файл xap при установке, мы хотели пойти с чем-то большим по строкам файла конфигурации, где имя сервера можно было настроить при установке, а не вручную касаться каждого xap-файла после isntall. – rlcrews