2016-02-25 3 views
-1

У меня есть набор общих веб-API в проекте VS2015, который я бы хотел использовать при создании других проектов. Помимо подхода «копировать-вставить», существуют ли возможности повторного использования или ссылки, которые бы были похожи на ссылку на библиотеку для повторного использования на уровне проекта?Возможность повторного использования/компоновки Visual Studio asp.net

Я знаком с повторным использованием библиотеки классов, но я хотел бы иметь возможность повторно использовать настройки и конфигурацию на более высоком уровне. Например, я мог бы определить маршрутизацию и другие понятия.

Вот список того, что я ищу:

  • Common Project (ASP.NET проект Web API)

  • Project A (ASP.NET проект Web API)

    • Проект Специальные контроллеры и другая логика
    • Общие контроллеры и другая логика от общего проекта ASP.NET Web API
  • Project B (ASP.NET проект Web API)

    • Project B конкретные контроллеры и другая логика
    • Общие контроллеры и другие логики из проекта Web API Common ASP.NET

Я пытаюсь избежать создания нескольких проектов ASP.NET Web API, которые имеют почти идентичные конфигурации.

+1

Вы можете создать проект библиотеки классов, на который могут ссылаться ваши проекты пользовательского интерфейса. – David

+0

Я знаком с библиотеками классов, я ищу для повторного использования на уровне проекта. – Josh

+0

Добавлена ​​информация о пакетах и ​​упаковке Nuget – Pseudonym

ответ

0

Публикация проекта Web Api, а затем укажите URL-адрес в разделе appSettings вашего Web.config или с помощью области настроек приложения (щелкните правой кнопкой мыши проект, выберите «Свойства», затем вкладку «Настройки») ,

В любом случае у вас будет программный способ получения базового URL-адреса вашего веб-Api, который затем можно использовать совместно с HttpClient для запросов на различные конечные точки, которые вам нужны. В конце концов, это цель цели веб-Api. Ваши проекты должны не просто включать его как DLL.

1

EDIT: Итак, основываясь на нашем обсуждении, вы планируете создать шаблонный проект в Нугете. Here - это документация о том, как это сделать. И если вы хотите еще более автоматизированное решение, есть пакет Nuget для создания пакета Nuget! (NuGet рекурсии!)

основывается на мысли, что вы хотите повторно использовать код логики и не обязательно просто шаблон Web API для повторного использования следующим образом:

Как состояние комментарии вы, вероятно, следует использовать библиотеку классов, обсужденную here на MSDN. Однако вы заявили:

Я знаком с библиотеками классов, я хочу повторно использовать проект .

Что мне говорит о том, что вы хотите повторно использовать весь свой проект, а не только логическую часть вашего проекта и не быть грубым, но это не «правильный» способ пойдите об этом.

Вместо этого вам следует сосредоточиться на том, чтобы поддерживать «разделение беспокойства», описанное в here, и убедитесь, что ваш веб-API не также обрабатывает вашу бизнес/проект/любую логику. Как правило, вы хотели бы, чтобы ваши веб-API были не более чем частью вашего фактического кода, т. Е. Часть API должна ничего не делать, кроме как обрабатывать веб-запросы и функции вызова в отдельном классе/проекте/решении/dll/независимо. Все это связано с идеей слабосвязанного кода, описанной here в очень высоком накладном виде.

После того, как ваш код поддерживает разделение проблем свободно, вы можете легко идентифицировать те части и части кода, которые вы хотите повторно использовать.

+0

Я добавил более подробно на мой вопрос. Я знаком с разделением проблем. У меня есть отдельные библиотеки для доменов, репозиториев и т. Д. Мои API-интерфейсы - это просто оболочки для логики в других библиотеках. То, что я пытаюсь избежать иметь кучу проектов ASP.NET Web API, которые имеют почти идентичные конфигурации. – Josh

+0

Ах, спасибо за разъяснение – Pseudonym

+0

@ Жозе подождать, как в идентичных web.configs или идентичных проектных структурах? – Pseudonym

Смежные вопросы