24.08.2005, 14:21 | #1 |
Участник
|
Расположение dll фаилов
Привет всем!
Хотел спросить такой практицеский вопрос. Куда лучше класть dll фаилы, на клиенте или на сервере? Например если один dll отвечает за обращение к серверному ресурсу а другой за отображение GUI. Как мне кажется один должен лежать на клиенте (GUI), а другой на сервере. Что касается доступа к dll фаилу то можно же положить его на сервер АОS и сколько бы не было клиентов все смогут его использовать, или виполнять код на сервере используя етот dll. Есть какая-то разница или правила Best Practice? С уважением, Анатолий. |
|
24.08.2005, 15:50 | #2 |
Участник
|
О каких DLL идёт речь?
|
|
24.08.2005, 16:01 | #3 |
Участник
|
Сложно сказать. Ето был вопрос из екзамена на сертификацию и меня ето очень заинтересовало на будующее. Ну я думау что реч там щла о dll написанних разработчиком. Тоесть хотелось бы узнать впринципи как поступить в такой цитуацыи и есть ли какие-то ограничения. К примеру одна длл имеет больще отношение к серверу тоесть работает с каким-то ресурсом (принтер, сканнер и так даллее) расположенном на сервере. А другая длл делает что-то с GUI и впринципи могла би и на клиенте лежать чтоб не использовать скорость сети, но в тоже время все пользователи ею пользуутся и в етом плане было бы болле целисообразним хранить ее в одном месте а не на каждом клиенте. Вот и вопрос как в такой ситации поступить?
|
|
24.08.2005, 16:57 | #4 |
Участник
|
«C:\Program Files\Navision\Client\Bin»
можно даже заставить аксапту устанавливать DLL если их нет: http://erpkb.com/Axapta/AvtoregistracijaActiveX |
|
24.08.2005, 16:57 | #5 |
Administrator
|
Вообще-то DLL-ки надо класть в приложение, в подпапку Include, затем сию DLL-ку грамотно прописывать в классах SysFileDeployment* (где кстати можно прописывать все пути, отличные от настроек по умолчанию).
Axapta сама при запуске копирует все прописанные в этих классах DLL-ки на клиента (точнее в Bin каталог, прописанный в конфиг утилите). Точнее - она спрашивает конечно - юзер должен ответить ОК и DLL-ка будет скопирована. Регистрация осуществляется к DLL-ке, лежащей в Bin-каталоге (опять-таки - все можно задать и самим). В 3-шке, с АОСом - у него также имеется Bin-каталог - куда также копируются dll-ки Опять-таки - вопрос прописывания в вышеуказанных классах |
|
24.08.2005, 17:14 | #6 |
Участник
|
Я не знаю "правильного" ответа на этот странный сертификационный вопрос, но imho не стоит разделять DLL-ы по принципу, для рисования интерфейса он нужен или для общения с переферией. Если все они используются одним приложением, то и должны лежать они в одном месте, а уж на сервере или на клиенте - зависит от ситуации. Если на клиентах - проблемы с администрированием и обновлениями, если на файловом сервере (не обязательно на AOS) - то сетевой трафик и нагрузка на сервер
|
|
24.08.2005, 23:21 | #7 |
Участник
|
braathe
ЕПРСТ... ФХЦЧШЩ...
Читать встроенное в Аксапта руководство разработчика пробовали? Поиск на 3 закладке по dll registration выдает единственную запись, дословное содержимое которой следующее: Take Care using DLL on the Server Using DLLs on the Server could cause problems with registration and security, so: DLLs should be Client based DLLs with GUI interaction must always be Client based. Если по русски, то можете и на сервере, но на свой страх и риск |
|