Страницы

Поиск по вопросам

суббота, 21 декабря 2019 г.

Различные варианты конфигурации приложения

#c_sharp #visual_studio


Есть приложение с полной функциональностью. Это приложение для одного типа пользователей.
Они могут редактировать/удалять/добавлять. Но есть и другие пользователи, которым это
делать нельзя.

Каким путем пойти, что бы не создавать несколько похожих приложений, но с небольшими
различиями по функционалу?

В Delphi я применял такой подход.

#IFDEF DISPATCHER
...
#ENDIF

#IFDEF VIEWER
...
#ENDIF


В VisualStudio почему-то так

#if DEBUG
 // Работает
#endif

#if RELEASE
 // Не работает
#endif

    


Ответы

Ответ 1



Все дело в настройках проекта. Конфигурация Debug по умолчанию определяет символы DEBUG и TRACE, конфигурация же Release определяет только TRACE (символа RELEASE не существует). Вам поможет вот такой способ: #if !DEBUG #endif Или вот такой: #if DEBUG #else #endif Также в свойствах проекта вы можете определить свои символы для условной компиляции. У меня это делается вот так: Но, вообще говоря, для разных режимов работы обычно хорошо подходят настройки и конфигурационные файлы: if (Properties.Settings.Default.CanEditFoo) { // ... } Также имеет смысл ограничить доступ пользователя на стороне сервера или СУБД. Если в организации используется Active Directory - то хорошим решением будет авторизация пользователей на основе доменных групп, к которым они относятся.

Комментариев нет:

Отправить комментарий