Могу ли я развернуть API веб-службы из приложения WPF, которое находится в проекте Visual C #? - PullRequest
0 голосов
/ 22 июня 2019

Я очень плохо знаком с ASP.NET и застрял в этой проблеме на долгое время.У меня есть приложение WPF (.NET Framework), которое в настоящее время работает.Это программа, используемая для управления каким-либо внешним устройством (роботом).У меня есть проект C # этого приложения WPF как редактируемый проект в моей Visual Studio 2017.

Я хочу использовать эту программу (приложение WPF) для развертывания службы веб-API и использовать функцию в приложении WPF извеб-API, например, у меня есть команда A.FORWARD для перемещения робота вперед по кнопке в приложении WPF, я хочу создать службу веб-API, вызывающую localhost:XXXX/api/moveforward для вызова этой команды (A.FORWARD).

Сначала я попытался создать службу веб-API с помощью .NET Framework 4.6.1 и скопировать в нее код и зависимости для управления роботом из приложения WPF.Но после развертывания веб-API я обнаружил, что внешнее устройство (робот) недоступно из веб-API.

Затем, во-вторых, я попытался скопировать весь код для развертывания службы API в приложение WPF.Но я обнаружил, что служба API не будет работать (Application_Start() в Global.asax.cs), и не могу заставить ее работать.

Чтобы принудительно запустить приложение WPF API, я скопировал все необходимые файлы, особенно Global.asax.cs для запуска API, который содержит это

public void Application_Start()
{
    AreaRegistration.RegisterAllAreas();
    GlobalConfiguration.Configure(WebApiConfig.Register);
    FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
    RouteConfig.RegisterRoutes(RouteTable.Routes);
    BundleConfig.RegisterBundles(BundleTable.Bundles);
}

... и я добавляю его к вызову, нажав какую-то кнопку из MainWindow.xaml.cs.

public void ButtonEmotion_Click(object sender, RoutedEventArgs e)
{
    new Global().Application_Start();
}

, эти усилия говорят:

Возникло исключение: System.InvalidOperationException в System.Web.dll Произошло необработанное исключение типа «System.InvalidOperationException» в System.Web.dll.Этот метод не может быть вызван на этапе начальной инициализации приложения.

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