Интегрировать приложение ASP.NET Core MVC в существующее приложение ASP.NET MVC - PullRequest
0 голосов
/ 06 мая 2019

У меня уже есть работающее приложение ASP.NET MVC, работающее на производстве. Теперь мой клиент предложил новое требование / усовершенствование, и он хочет разработать его с помощью ASP.NET Core MVC. Новым дополнением станет новый автономный модуль. А после завершения разработки он хочет интегрировать его с существующим приложением ASP.NET MVC.

Я хотел знать, возможно ли объединить эти два приложения, потому что ASP.NET Core - это совершенно другой каркас, переписанный с нуля, а старое приложение использует .NET Framework 4.6.x.

Буду очень признателен за любую помощь или любую ссылку, которая поможет мне в этом.

Заранее спасибо.

Ананд Нима

1 Ответ

0 голосов
/ 06 мая 2019

Ваш вопрос на самом деле довольно широкий, потому что "интеграция" - это широкая тема.Он охватывает множество различных аспектов приложения, и именно методология зависит от глубоких знаний этих приложений.

При этом, вообще говоря, ASP.NET MVC и ASP.NET Core являются совершенно отдельными платформами.Вы не можете «интегрировать» их в том смысле, как вы используете, чтобы иметь возможность одновременно запускать веб-формы и код MVC в одном проекте ASP.NET MVC.Это будут два отдельных приложения, которые необходимо будет развернуть независимо.

Вы можете «поделиться» строкой соединения, то есть вы можете совместно использовать базу данных, но вам нужно будет принять ряд решений вчто касаетсяНапример, если текущий проект MVC использует EF6, вам также нужно будет использовать EF6 в базовом проекте, чтобы использовать одни и те же классы сущностей.На данный момент это означает, что нацелен на .NET Framework, а не на .NET Core.Тем не менее, .NET Core 3.0 обещает запустить EF6 изначально.В качестве альтернативы, вы можете использовать EF Core и рассматривать базу данных как существующую, поддерживающую в сущностях.Это приведет к некоторому дублированию кода, но может быть приемлемым компромиссом, в зависимости от обстоятельств.

Такие вещи, как сеансы, файлы cookie и аутентификация, могут использоваться совместно, но это может потребовать фундаментальных изменений в ASP.NET MVC.проект.А именно, ASP.NET Core использует провайдеры защиты данных для шифрования и дешифрования, а не подход с использованием машинного ключа ASP.NET.Тем не менее, благодаря поддержке OWIN, ASP.NET MVC5 также может поддерживать поставщиков защиты данных для шифрования / дешифрования.Таким образом, если вы переключитесь на использование защиты данных и поделите кольцо ключей между двумя приложениями, тогда каждое из них сможет расшифровывать вещи, зашифрованные другим.Однако, если вы еще не используете защиту данных в своем приложении MVC, изменение может быть несколько болезненным.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...