powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Call WCF Services Synchronously and Asynchronously
4 сообщений из 4, страница 1 из 1
Call WCF Services Synchronously and Asynchronously
    #38056195
Borik2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет.
Недавно начал работать с системой на Silverlight 5.
На сегодня все обращения к базе данных происходят асинхронно через WCF
Ниже пример кода.
Вопрос , можно ли из обратиться к WCFсервису синхронно для последующего binding к гриду в UI.
Спасибо.
--------------------------



[ServiceContract]
public interface IMadicineService
{
[OperationContract(AsyncPattern = true)]
IAsyncResult BeginGetPaticipationTypesAsync(AsyncCallback callback, Object state);

List<DIC_ParticipationTypeMFPercent> EndGetPaticipationTypesAsync(IAsyncResult result);
}


public class MadicineService : IMadicineService
{

public IAsyncResult BeginGetPaticipationTypesAsync(AsyncCallback callback, object state)
{
List<DIC_ParticipationTypeMFPercent> madList = EntitiesFacade.GetPaticipationTypes();
return AsyncOperationHelper.BeginOperationAsync(madList, callback, state);
}

public List<DIC_ParticipationTypeMFPercent> EndGetPaticipationTypesAsync(IAsyncResult result)
{
return AsyncOperationHelper.EndOperationAsync<List<DIC_ParticipationTypeMFPercent>>(result);
}

}


----------------------------



public void GetParticipationTypes()
{
IMadicineService proxy = base.FactoryHelper.CreateChannel<IMadicineService>(new Util.ConfirmationChannelFactory<IMadicineService>());
proxy.BeginGetPaticipationTypesAsync(GetAllParticipationTypesCallback, proxy);
}

public void GetAllParticipationTypesCallback(IAsyncResult result)
{
ICommunicationObject channel = null;
try
{
channel = result.AsyncState as ICommunicationObject;
if (FactoryHelper.IsActive(channel) == false)
{
return;
}

List<DIC_ParticipationTypeMFPercent> Typeslist = ((IMadicineService)result.AsyncState).EndGetPaticipationTypesAsync(result);


}
catch (Exception ex)
{
RaiseOnDataLoadErrorOccured();
ExceptionHandler.Handle("hjkhjkh" + "\r" + ex.Message);
}
finally
{
this.FactoryHelper.DestroyChannel(channel);
}
}
...
Рейтинг: 0 / 0
Call WCF Services Synchronously and Asynchronously
    #38057242
thunder2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Borik2012Вопрос , можно ли из обратиться к WCFсервису синхронно для последующего binding к гриду в UI.


А почему Вы думаете, что нельзя ? Более того синхронный доступ является наиболее распространённым.
На клиенте инстанцируйте прокси-объект и пользуйтесь методами Open, затем вызов необходимого Вам метода службы (операции), когда данные получили вызываем Close у прокси. В службе [OperationContract] должен быть без аттрибута AsyncPattern (обычно так по-умолчанию). В вашем случае, в службу введите доп. метод, который будет выдавать данные синхронно.

P.S.
Для оформления кода пользуйтесь кныпочкой SRC - пост оформлен через ж..у, по-ламерски. Читать невозможно.
...
Рейтинг: 0 / 0
Call WCF Services Synchronously and Asynchronously
    #38058312
Borik2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо.
Нашел пример , если кому интересно
http://www.codeproject.com/Articles/91528/How-to-Call-WCF-Services-Synchronously-and-Asynchr
...
Рейтинг: 0 / 0
Call WCF Services Synchronously and Asynchronously
    #38058361
SL-WCF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
thunder2А почему Вы думаете, что нельзя ? Более того синхронный доступ является наиболее распространённым.

но не в SL (там только асинхронно, by design)
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Call WCF Services Synchronously and Asynchronously
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]