Как получить доступ к mainForm из собственного веб-API?
У меня есть собственный веб-API в моем приложении winform. Я хочу вызвать метод mainFrom из моего собственного веб-API. После получения запроса я хочу вызвать метод goNightMode.
Проблема в том, что, создав объект mainForm в классе контроллера api, я получил свежий набор компонентов пользовательского интерфейса и не-пользовательского интерфейса основной формы. Я ищу решение для доступа к компонентам без создания нового объекта из mainForm или любым другим возможным способом! вот что у меня так далеко
мой mainForm:
namespace MyProject.Forms
{
public partial class MainForm : Form
{
private void MainForm_Load(object sender, EventArgs e)
{
//Initialzation of Web API
}
public bool goNightMode(string pName)
{
textBox1.text = pName; //nothig gets changed!
//Time consuming job
//its result is either true or false
return result;
}
}
}
Вот мой контроллер API для веб-API:
namespace MyProject
{
public class ValuesController: ApiController
{
[HttpGet]
public string Execute(string pName)
{
MainForm form = new MainForm();
if(form.goNightMode(pName))
return "Night Mode is activated successfully!";
else
return "A problem occured!";
}
}
Кстати, я не хочу использовать обработчик событий, так как мне нужно, чтобы контроллер api блокировался в ожидании результата трудоемкой работы и, соответственно, отправлял HTTP-ответ.