Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Call WCF Services Synchronously and Asynchronously
|
|||
|---|---|---|---|
|
#18+
Всем привет. Недавно начал работать с системой на 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); } } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2012, 13:07 |
|
||
|
Call WCF Services Synchronously and Asynchronously
|
|||
|---|---|---|---|
|
#18+
Borik2012Вопрос , можно ли из обратиться к WCFсервису синхронно для последующего binding к гриду в UI. А почему Вы думаете, что нельзя ? Более того синхронный доступ является наиболее распространённым. На клиенте инстанцируйте прокси-объект и пользуйтесь методами Open, затем вызов необходимого Вам метода службы (операции), когда данные получили вызываем Close у прокси. В службе [OperationContract] должен быть без аттрибута AsyncPattern (обычно так по-умолчанию). В вашем случае, в службу введите доп. метод, который будет выдавать данные синхронно. P.S. Для оформления кода пользуйтесь кныпочкой SRC - пост оформлен через ж..у, по-ламерски. Читать невозможно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2012, 01:20 |
|
||
|
Call WCF Services Synchronously and Asynchronously
|
|||
|---|---|---|---|
|
#18+
Спасибо. Нашел пример , если кому интересно http://www.codeproject.com/Articles/91528/How-to-Call-WCF-Services-Synchronously-and-Asynchr ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2012, 16:05 |
|
||
|
|

start [/forum/topic.php?fid=21&msg=38058361&tid=1441585]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
31ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 221ms |
| total: | 329ms |

| 0 / 0 |
