|
C# трехзвенка
|
|||
---|---|---|---|
#18+
>Lelouch, вчера, 21:54 [14277989] >а зачем код, при генерации клиента укажите создать асинхронные методы... Извините, не понял. Если можно, поподробнее пожалуйста. Код клиентского проекта приведен. Что и в каких свойствах проекта VS 2012 клиентского приложения надо задавать для автоматического формирования в прокси классе асинхронных методов? С уважением, Владимир ... |
|||
:
Нравится:
Не нравится:
|
|||
10.05.2013, 02:46 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
ВМоисеев, проект клиента -> Service References -> Configure Service Reference... ... |
|||
:
Нравится:
Не нравится:
|
|||
10.05.2013, 11:23 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
>Lelouch, сегодня, 11:23 [14278662] >проект клиента -> Service References -> Configure Service Reference... Извините, ещё один вопрос.Тема для меня больная. Решение и его проекты заданы. В проекте клиента хочу определить методы прокси. Что имею - файл прилагаю. Что должно быть задано в полях диалоговых форм? С уважением, Владимир ... |
|||
:
Нравится:
Не нравится:
|
|||
10.05.2013, 21:38 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
ВМоисеев, Не увидел код Sergey TSV, он не использовал генерацию прокси ) Сделайте сервис по этому гайду: http://msdn.microsoft.com/ru-ru/library/bb386386.aspx ... |
|||
:
Нравится:
Не нравится:
|
|||
10.05.2013, 21:46 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
Lelouch правильно подсказал решение. Для того чтобы служба могла дать информацию о своих метаданных, необходимо добавить в нее конечную точку MEX, т.е. немного изменить код службы. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
После этого запустить службу, сформировать автоматически прокси-класс с асинхронными методами (например, создать асинхронные операции для VS2012), посмотреть сформированные методы и продублировать их в вышеприведенном примере (я для этого наследую интерфейс контракта службы), т. е. методы Код: c# 1. 2.
Это, естественно, только один из множества возможных методов реализации асинхронных операций. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2013, 17:40 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
>Sergey TSV, Lelouch СПА-СИ-БО!!! С уважением, Владимир. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2013, 00:41 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
Sergey TSVLelouch правильно подсказал решение. Для того чтобы служба могла дать информацию о своих метаданных, необходимо добавить в нее конечную точку MEX, т.е. немного изменить код службы. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
После этого запустить службу, сформировать автоматически прокси-класс с асинхронными методами (например, создать асинхронные операции для VS2012), посмотреть сформированные методы и продублировать их в вышеприведенном примере (я для этого наследую интерфейс контракта службы), т. е. методы Код: c# 1. 2.
Это, естественно, только один из множества возможных методов реализации асинхронных операций. Гораздо проще и внятней c task&await ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2013, 10:00 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
SeVa, Generate task-based operations недоступно для FW4.0 к сожалению. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2013, 10:12 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
LelouchSeVa, Generate task-based operations недоступно для FW4.0 к сожалению. Генерировать прокси для своих сервисов - самый дубовый вариант. Это можно спокойно делать с помощью ChannelFactory . ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2013, 10:47 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
Async Targeting Pack для await в net 4.0 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2013, 10:50 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
SeVa, а что мешает сгенерировать прокси и использовать ChannelFactory? Как такое применение ChannelFactory позволит легко создать асинхронные вызовы (На основе Task или Async, не важно)? P.S. Самый дубовый вариант это писать руками то, что за тебя может написать среда. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2013, 10:53 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
LelouchSeVa, а что мешает сгенерировать прокси и использовать ChannelFactory? Как такое применение ChannelFactory позволит легко создать асинхронные вызовы (На основе Task или Async, не важно)? P.S. Самый дубовый вариант это писать руками то, что за тебя может написать среда. 1.Среда генерит только никому не нужный мусор 2. При изменениях нужно вручную обновлять reference, когда их кол-во переваливает за десяток, такое пустопорожнее занятие становится весьма утомительным 3. ChannelFactory кэширует прокси и можно добиться увеличения производительности и тд ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2013, 11:09 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
И еще не зло замечу, работать с инструментом и не знать всех возможностей - это уровень MCУ ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2013, 11:12 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
SeVa, 1) Правильно, только хардкод, только руками. 2) Десяток? Зачем? что мешает объеденить их на сервере в 1 контракт? Как это сделано например вот тут: http://microsoftnlayerapp.codeplex.com/ авторИ еще не зло замечу, работать с инструментом и не знать всех возможностей - это уровень MCУ 3) При генерации прокси также создается и ChannelFactory если что. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2013, 11:21 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
SeVa, и вы не ответили на вопрос: авторКак такое применение ChannelFactory позволит легко создать асинхронные вызовы (На основе Task или Async, не важно)? SeVaAsync Targeting Pack для await в net 4.0 И что, а Taskи руками будете описывать? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2013, 11:23 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
Lelouch, 2) Поправка: не создается, но может быть использована вместе с созданым на клиенте интерфейсом. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2013, 11:32 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
LelouchSeVa, 1) Правильно, только хардкод, только руками. 2) Десяток? Зачем? что мешает объеденить их на сервере в 1 контракт? Как это сделано например вот тут: http://microsoftnlayerapp.codeplex.com/ авторИ еще не зло замечу, работать с инструментом и не знать всех возможностей - это уровень MCУ 3) При генерации прокси также создается и ChannelFactory если что. 1. Ты когда нибудь смотрел, что генериться в результате? Не мешало бы посмотреть, идет тупое дублирование кода и больше ничего. 2. Это на уровне советов mcy устраивать из всего одну большую помойку. Были и есть проекты, где этих сервисов сотни. Есть достаточно большая часть, которая используется совершенно в разных проектах одновременно. Плюс подобные сервисы создаются с помощью кодогенераторов, а потом билдятся на автомате ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2013, 11:58 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
LelouchSeVa, и вы не ответили на вопрос: авторКак такое применение ChannelFactory позволит легко создать асинхронные вызовы (На основе Task или Async, не важно)? SeVaAsync Targeting Pack для await в net 4.0 И что, а Taskи руками будете описывать? Контракт должен быть с Task/Task<T>. Об этом можно прочитать в разделе what's new net 4.5. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2013, 12:00 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
SeVa, 1) Смотрел естественно. Там генерится нормальный интрефейс с асинхронными методами, который можно использовать в ChannelFactory. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2013, 12:13 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
SeVa, При чем тут 4.5, я про 4.0 говорил. Вопросов про 4.5 изначально и не было. Та ссылка, что вы дали, показывает, как в 4.0 сделать доступным async/await, есть ли возможность в 4.0 использовать в контракте для ChannelFactory Task? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2013, 12:15 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
>SeVa, вчера, 10:00 [14283368] >Гораздо проще и внятней c task&await Вы имеете ввиду нечто подобное ? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41.
С уважением, Владимир ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2013, 08:48 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
>ВМоисеев,сегодня, 08:48 [14285739] Извините, ошибка, надо так: . . . while (!tdt.IsCompleted ) { //-- Делаем что-нибудь видимое, двигаем ProgressBar к примеру . . . Thread.Sleep(500); } ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2013, 08:54 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
Lelouchесть ли возможность в 4.0 использовать в контракте для ChannelFactory Task?Да, если самому написать генератор. Регуляркой распарсить результат svcutil.exe. Сгенерить нормального клиента с тасками, автозакрытием соединения и прочим. Обернуть всё это в T4 Text Template для удобства. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2013, 09:07 |
|
|
start [/forum/topic.php?fid=20&startmsg=38252989&tid=1400484]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
70ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
68ms |
get tp. blocked users: |
1ms |
others: | 278ms |
total: | 459ms |
0 / 0 |