AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.12.2007, 14:41   #1  
Beast-L is offline
Beast-L
Участник
Аватар для Beast-L
 
104 / 21 (1) +++
Регистрация: 20.10.2006
Адрес: Киев
Зачем нужны client и static одновременно?
Зачем нужны client и server одновременно?

client понятно
server понятно

server client не понятно

X++:
server client static method()
{
    ....
}
Старый 21.12.2007, 14:58   #2  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
указание одновременно модификаторов client и server равносильно тому, чтобы не указать ни одного модификатора.

Но это считается BestPractice - когда ты видишь такой метод, это значит, что программист, который его написал, подумал, и написал код таким образом, чтобы он оптимально выполнялся как на стороне сервера, так и на стороне клиента.
То есть таким образом разработчик дает тебе понять, что метод может вызываться и там и там.
За это сообщение автора поблагодарили: belugin (5), Beast-L (1).
Старый 21.12.2007, 15:23   #3  
Beast-L is offline
Beast-L
Участник
Аватар для Beast-L
 
104 / 21 (1) +++
Регистрация: 20.10.2006
Адрес: Киев
Понял спасибо
Старый 21.12.2007, 18:27   #4  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,941 / 3229 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от kashperuk Посмотреть сообщение
указание одновременно модификаторов client и server равносильно тому, чтобы не указать ни одного модификатора.
Не совсем так.

Если не указать client server то метод будет работать всегда на той стороне, на которой живет объект.

Если же указать client server то код будет выполняться там же где и вызывающий его код.
За это сообщение автора поблагодарили: kashperuk (5).
Старый 23.12.2007, 23:35   #5  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Logger - спасибо за поправку. На самом деле, я тоже прав
Просто я говорил о табличных методах (по моим личным наблюдениям, именно там чаще всего встречается такая ситуация), а вы, видимо, говорили о методах на классах.

Вот цитата из книги Inside Microsoft Dynamics AX, на которой основывался мой ответ:

Цитата:
By default, table instance and static methods are executed as "called from" if neither the server nor the client modifier is specified. You can, however, specify both client and server as modifiers in the same method, but doing so does not influence where the method is executed; it signals that the developer of the method has evaluated the method and decided that it should be executed as "called from" and should not be client bound or server bound.

....

If neither the client nor the server modifier is specified in static class methods, the methods are executed on the tier specified by the RunOn property on the class. Specifying both client and server in these methods does, however, force the methods to be executed as "called from" and thereby disregard the property value on the class.
То есть, для табличных методов и статических методов классов, для которых свойство RunOn установлено в CalledFrom - ничего не изменится.
Но если такой параметр указать для класса, который должен выполняться только на сервере либо только на клиенте, то поведение поменяется.
За это сообщение автора поблагодарили: glibs (1).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Khue Trinh: Mass Deployment of the Microsoft Dynamics AX Client Blog bot DAX Blogs 0 07.01.2008 15:51
Dynamics AX: Mass Deployment of the Microsoft Dynamics AX Client Blog bot DAX Blogs 0 12.09.2007 06:11
Dynamics AX: Silent install of Client for Dynamics AX Blog bot DAX Blogs 3 28.01.2007 02:48
Зачем нужны "Параметры кодов аналитики"? Кирилл DAX: Программирование 2 16.04.2004 14:22
Зачем нужны display и edit методы Андре DAX: Программирование 4 15.08.2002 13:24

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 08:08.