Как получить доступ к 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-ответ.

0 ответов

Другие вопросы по тегам