2017-02-09 2 views
0

Извинения за слово, я новичок в веб-API. Позвольте мне предоставить небольшой фон. У меня есть решение с тремя проектами: репозиторий с сущностью SQL, консольным приложением и MVC Web API. Мой репозиторий запрашивает SQL, передает эти данные в консольное приложение, которое выводит список вычислений из необработанных данных SQL. Теперь я хочу, чтобы этот список переместился на мой localhost через веб-API. У меня есть веб-API, который выводит данные в локальный браузер из тестового репозитория с массивом тестовых данных внутри (эти данные не вычисляются, я просто сделал статический массив, чтобы увидеть, могу ли я что-нибудь вытащить), и он отлично работает , Но когда я пытаюсь взять выходной список из консольного приложения и передать его в свой тестовый репозиторий, а затем нажимать на эти данные, данные не проталкиваются. Я сделал список вывода доступным на всей сборке, поэтому я могу получить доступ к списку консольных приложений из веб-API.Как можно получить доступ к списку проектов API в другом проекте в одном и том же решении?

Любые идеи?

Благодаря

ответ

1

Это звучит для меня, как вам нужно, чтобы перестроить свои проекты немного. Я рекомендую реорганизовать ваш код, чтобы проекты выглядели следующим образом:

  • Проект репозитория: это будет говорить с вашей базой данных и отвечает за получение данных из вашей базы данных.
  • Проект приложения: он ссылается на ваш проект репозитория и выполняет вычисления, которые в настоящее время выполняются в вашем консольном приложении.
  • Проект приложения консоли: это ваш консольный код приложения. Он ссылается на ваш проект приложения и не более чем запрашивает результаты расчета из вашего проекта приложения, а затем выводит результаты на консоль.
  • Проект MVC WebAPI: это также просто ссылается на ваш проект приложения. Вызов веб-службы WebAPI запросит результаты расчета из вашего проекта приложения, а затем вернет его вызывающему абоненту.

Это будет намного проще для вас. Кроме того, вы можете легко протестировать только те методы класса Application, которые выполняют расчет.

+0

спасибо. Я подозревал, что мне нужно реорганизовать все решение, но я так новичок в веб-приложениях, что не был уверен, как действовать дальше. Еще один вопрос - будет ли это настроено соответствовать работе с SQL-базой данных, которая обновляется каждые несколько секунд и выводить текущие расчетные данные через WebAPI. Я создаю этот проект, конечной целью которого является URL-адрес, который я могу отправить, который будет постоянно показывать обновления вычислений на основе базы данных реального обновления SQL. URL-адрес будет отправлен людям на моей работе для мониторинга в реальном времени. – tommygun

+1

Возможно. Если вы пытаетесь часто обновлять пользовательский интерфейс с помощью живых данных, у вас есть два варианта: опрос веб-службы или фреймворка WebSockets, который поддерживает подключения к клиентам, и может при необходимости передавать данные. Поскольку вы уже используете .NET, эта структура WebSockets, вероятно, будет SignalR. Опрос веб-службы проще, но плохо масштабируется. Если у вас есть только несколько пользователей, и это нужно сделать быстро и грязно, используйте опрос для своего веб-сервиса. В противном случае посмотрите на SignalR. –

+1

Цените помощь. – tommygun