Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > WPF и Silverlight > Проблема с WCF RIA services


Автор: kelt 4.4.2016, 07:22
Всем привет, есть вопрос по WCF Ria seriveces с Silverlight.

Есть проект, писали его давно, больше 3 лет назад, писал не я, но мне дали потом его поддерживать, чем я и занимаюсь.
Но тут возникла одна задача, немного переделать отчет, я решил переделать функцию - передать ей новый параметр - и тут загвоздка. 
При запуске под студией все работает, а вот когда передаю на IIS даже локальный, то там все как будто без изменений.

Серври вызываю с клиента так:
Код

var q = Service.Load(Service.GetS123DataQuery(Period.Id, Organization.Id, Currency.Code, Program.Code, SubProgram.Code,
                Specific.Code, Transcript), LoadBehavior.RefreshCurrent, false);


в сервисе обрабатываю так
Код

[Query]
public IEnumerable<RS123> GetS123Data(Guid period, Guid org, String curr, String prog, String sub, String sp, Boolean transcript)


Пытаюсь дебагить, через подключение к процессу, но он доходить до вызова этой функции и там просто идет дальше, не заходя в саму функцию

P.S. причем такое ощущение что прежную версию сервисов берется откуда то, даже при условии что на IIS данные портал был развернут уже с новыми файлами .xap

Автор: sgrey 5.4.2016, 06:01
Сервис один и тот же на сервере и в студии?
Клиент скачал новый wsdl сервиса? или он REST ? При смене интерфеса в веб-сервисе нужно менять обновлять всех клиентов, которые используют изменённую функцию, если это SOAP
А сам сервис кстати поменяли, или только клиент?

Автор: kelt 5.4.2016, 07:03
Привет, сам сервис менял, и через студию он работает нормально.

Подключение к сервису идет через WCF RIA Services link в Properties проекта
поэтому как такого сервиса нигде не развернуто, все через references.
Поэтому и проверить его не могу.

В файле *.g.cs

я нашел описание моего сервиса с измененными параметрами которые я делал в сервисе

Код

public EntityQuery<FR.DataModel.ReportProxies.RS123> GetS123DataQuery(
System.Guid period, System.Guid org, string curr, string prog, string sub, string sp, bool transcript)
{
    Dictionary<string, object> parameters = new Dictionary<string, object>();            
    parameters.Add("period", period);
    parameters.Add("org", org);
    parameters.Add("curr", curr);
    parameters.Add("prog", prog);
    parameters.Add("sub", sub);
    parameters.Add("sp", sp);
    parameters.Add("transcript", transcript);
    this.ValidateMethod("GetS123DataQuery", parameters);
    return base.CreateQuery<FR.DataModel.ReportProxies.RS123>("GetS123Data", parameters, 
            false, true);
}


P.S. я с этим проетом работал давно и тогда менял сервисы которые спокойно работали и работают с моими прежними изменениями и сейчас.
Кстате я это все делаю на виртуальной машине, и даже взял копию машины полугодовой давности, внес изменения что мне надо и та же фингя, не работает сервис как надо и все.

Автор: kelt 6.4.2016, 01:41
Проблема решена, забыл что надо еще файл сервисов копирнуть
Спасибо за советы

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)