Sunuer

Sunuer Manage Sunuer Easy Окружающие
Описание проекта

Структура проекта


SunuerManage ├─ appsettings.json # Файл конфигурации приложения, содержит строку подключения к БД, настройки приложения и т.д. ├─ bin # Каталог с скомпилированными бинарными файлами │ ├─ Debug # Вывод компиляции в режиме отладки │ └─ Release # Вывод компиляции в режиме релиза ├─ Code # Логика бизнес-уровня и слой доступа к данным │ ├─ Admin # Логика, связанная с администраторами │ │ ├─ AdminDal.cs # Слой доступа к данным (DAL) для администраторов │ │ ├─ AdminModel.cs # Модель данных для администраторов │ │ ├─ AdminPowerDal.cs # DAL для прав администратора │ │ ├─ AdminPowerModel.cs # Модель данных для прав администратора │ │ ├─ AdminRolesDal.cs # DAL для ролей администратора │ │ └─ AdminRolesModel.cs # Модель данных для ролей администратора │ ├─ Articles # Логика, связанная со статьями │ │ ├─ ArticleCategoryDal.cs # DAL для категорий статей │ │ ├─ ArticleCategoryModel.cs # Модель данных для категорий статей │ │ ├─ ArticlesDal.cs # DAL для статей │ │ └─ ArticlesModel.cs # Модель данных для статей │ └─ ManageSet # Логика, связанная с настройками управления │ └─ ManageSetModel.cs # Модель данных для настроек управления ├─ Controllers # Контроллеры (API), обрабатывают HTTP-запросы │ ├─ Admin # Контроллеры, связанные с администраторами │ │ ├─ AdminController.cs # Контроллер администраторов │ │ ├─ AdminPowerController.cs # Контроллер прав администраторов │ │ └─ AdminRolesController.cs # Контроллер ролей администраторов │ ├─ Articless # Контроллеры, связанные со статьями │ │ ├─ ArticleCategoryController.cs # Контроллер категорий статей │ │ └─ ArticlesController.cs # Контроллер статей │ ├─ Files # Контроллеры, связанные с файлами │ │ ├─ CaptchaController.cs # Контроллер CAPTCHA │ │ ├─ FilesController.cs # Контроллер загрузки файлов │ │ └─ QRCodeController.cs # Контроллер генерации QR-кодов │ └─ ManageSets # Контроллеры, связанные с настройками управления │ └─ ManageSetController.cs # Контроллер настроек управления ├─ Data # Слой доступа к данным и контекст базы данных │ ├─ ApplicationDbContext.cs # Контекст базы данных для взаимодействия с БД │ └─ SunuerManage.sql # Файл скрипта базы данных (backup/restore) ├─ Pages # Страницы Razor для фронтенда │ ├─ About.cshtml # Страница "О нас" │ ├─ Cases.cshtml # Страница с примерами (кейсы) │ ├─ Contact.cshtml # Страница "Связаться с нами" │ ├─ Error.cshtml # Страница ошибок │ ├─ Index.cshtml # Главная страница │ ├─ News.cshtml # Страница новостей │ ├─ newsview.cshtml # Страница подробностей новости │ ├─ Manage # Страницы административной панели │ │ ├─ Admins # Страницы для управления администраторами │ │ │ ├─ AdminAdd.cshtml # Добавление администратора │ │ │ ├─ AdminEdt.cshtml # Редактирование администратора │ │ │ ├─ AdminList.cshtml # Список администраторов │ │ │ ├─ AdminPassWord.cshtml # Изменение пароля администратора │ │ │ ├─ AdminPowerAdd.cshtml # Добавление прав администратора │ │ │ ├─ AdminPowerEdt.cshtml # Редактирование прав администратора │ │ │ ├─ AdminPowerList.cshtml # Список прав администраторов │ │ │ ├─ AdminRolesAdd.cshtml # Добавление ролей администратора │ │ │ ├─ AdminRolesEdt.cshtml # Редактирование ролей администратора │ │ │ ├─ AdminRolesList.cshtml # Список ролей администратора │ │ │ ├─ Adminview.cshtml # Детальная страница администратора │ │ ├─ admin_index.cshtml # Главная страница административной панели │ │ ├─ Agreement.cshtml # Страница пользовательского соглашения │ │ ├─ Articless # Страницы для управления статьями │ │ │ ├─ ArticleCategoryAdd.cshtml # Добавление категории статей │ │ │ ├─ ArticleCategoryEdt.cshtml # Редактирование категории статей │ │ │ ├─ ArticleCategoryList.cshtml # Список категорий статей │ │ │ ├─ ArticlesAdd.cshtml # Добавление статьи │ │ │ ├─ ArticlesEdt.cshtml # Редактирование статьи │ │ │ ├─ ArticlesList.cshtml # Список статей │ │ ├─ consoles # Страницы консоли │ │ │ ├─ console.cshtml # Страница консоли │ │ ├─ Login.cshtml # Страница входа │ │ ├─ LoginOut.cshtml # Страница выхода │ │ └─ ManageSets # Страницы настроек управления │ │ ├─ ManageSetEdt.cshtml # Редактирование настроек управления │ ├─ Shared # Общие представления и макеты (layouts) │ │ ├─ Menu.cshtml # Представление меню │ │ ├─ _indexLayout.cshtml # Макет для главной страницы │ │ ├─ _Layout.cshtml # Макет по умолчанию │ │ ├─ _ManageIndexLayout.cshtml # Макет для административной панели │ │ └─ _ValidationScriptsPartial.cshtml # Частичное представление для скриптов валидации │ ├─ _ViewImports.cshtml # Файл импорта представлений, для пространств имён │ └─ _ViewStart.cshtml # Файл запуска представлений, задаёт макет ├─ Tools # Вспомогательные классы │ ├─ ApiResponse.cs # Класс ответа API — единый формат ответа │ ├─ CBC.cs # Класс для шифрования/дешифрования │ ├─ ConfigurationHelper.cs # Получение значений из appsettings.json │ ├─ DataTableToList.cs # Преобразование DataTable в список │ ├─ DBHelper.cs # Вспомогательный класс для работы с базой данных │ ├─ JsEncryptHelper.cs # Вспомогательный класс для JS-шифрования │ └─ Tools.cs # Общий вспомогательный класс ├─ wwwroot # Статические ресурсы │ ├─ css # CSS-файлы │ ├─ favicon.ico # Иконка сайта │ ├─ images # Изображения │ ├─ js # JavaScript-файлы │ └─ Uploadfile # Папка для загружаемых файлов ├─ Program.cs # Точка входа в приложение ├─ Properties # Файлы свойств проекта │ ├─ launchSettings.json # Файл настроек запуска │ └─ PublishProfiles # Профили для публикации │ ├─ FolderProfile.pubxml # Профиль для публикации в папку │ └─ FolderProfile.pubxml.user # Пользовательский профиль для публикации в папку ├─ Sunuer Manage Disclaimer (Read Carefully).txt # Файл отказа от ответственности проекта
├─ SunuerManage.csproj # Файл проекта, содержит настройки и зависимости ├─ SunuerManage.csproj.user # Пользовательские настройки проекта ├─ SunuerManage.sln # Файл решения, описывает структуру проекта и конфигурацию



Файл конфигурации launchSettings.json



{ "$schema": "http://json.schemastore.org/launchsettings.json", "iisSettings": { "windowsAuthentication": false, "anonymousAuthentication": true, "iisExpress": { "applicationUrl": "http://localhost:32430", //http://localhost:32430,Указывает, что приложение будет доступно по этому адресу. "sslPort": 0 } }, "profiles": { "http": { "commandName": "Project", "dotnetRunMessages": true, "launchBrowser": true, "applicationUrl": "http://localhost:5021", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" //Development: Среда разработки. Staging: Среда предпросмотра (предрелизная). Production: Рабочая (продуктивная) среда. } }, "IIS Express": { "commandName": "IISExpress", "launchBrowser": true, "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" } } } }


Файл конфигурации appsettings.json

"ConnectionStrings": {
  "DefaultConnection": "Server=nhdSQLEXPRESS;Database=SunuerManage;User Id=sa;Password=123456;MultipleActiveResultSets=true;TrustServerCertificate=True;Max Pool Size=100;Min Pool Size=5;Pooling=true;"
},

Server=nhd/SQLEXPRESS: Указывает сервер и имя экземпляра базы данных, к которому нужно подключиться.

Database=SunuerManage: Указывает основную базу данных, с которой будет установлено соединение.

User Id=sa; Password=123456: Учетные данные (логин и пароль) для подключения к SQL Server.

MultipleActiveResultSets=true: Позволяет одновременно выполнять несколько операций чтения данных в рамках одного сеанса (подключения) к базе данных. Например, пока один запрос читает данные, можно параллельно запустить другой запрос. В частности, при использовании Entity Framework, если нужно в одной и той же сессии параллельно читать данные и выполнять другие операции, необходимо установить этот параметр в true.

TrustServerCertificate=True: При использовании TLS/SSL для шифрованного подключения к SQL Server определяет, доверять ли сертификату сервера. При значении True, даже если сертификат не подписан доверенным удостоверяющим центром или есть другие проблемы с проверкой, соединение все равно устанавливается. Предупреждение о безопасности: в продакшене, если используется самоподписанный сертификат или недоверенный сертификат, данная опция позволяет соединению состояться, но сопряжена с риском. Настраивайте ее с учетом реальных условий.

Max Pool Size=100; Min Pool Size=5; Pooling=true: Управляет поведением пула подключений к базе данных (Connection Pool).

Pooling=true: Включает пул подключений, что повышает производительность при частом доступе к базе данных, уменьшая издержки на открытие/закрытие соединений.

Max Pool Size=100: Максимальное количество неиспользуемых подключений, которые могут храниться в пуле. Если это число превышено, новые запросы соединения будут ждать освобождения подключения либо выдадут исключение, в зависимости от конфигурации.

Min Pool Size=5: Минимальное количество неиспользуемых подключений, которые всегда будут поддерживаться в пуле. При первом подключении к базе данных пул предварительно создаёт 5 соединений, чтобы в дальнейшем ускорить ответ на запросы.