none
Выполнить метод класса в новом процессе. RRS feed

  • Вопрос

  • Доброго.

    Собственно, в заголовке весь вопрос. Есть класс со статическим методом и его нужно выполнить, как новый процесс, после чего дождаться завершения процесса. Такое возможно реализовать?

    10 августа 2012 г. 12:38

Ответы

  • Ну если Ваш процесс может запустить другой с большими правами, или тот же с такими правами, то почему бы его и не запуститиь с самого начала с этими правами? Важно понять, что для запуска процесса нужна программа, которая должна у Вас быть, иначе никак не получится, хотите или нет но отдельно создавать придётся. Грубо говоря процесс и программа нераздлимые вещи, это фактически одно и то же, и запустить процесс совсем без ничего , как поток, не получится. А межпроцессное взаимодействие это уже совсем другой уровень сложности, которы в данном случае Вам не нужен.
    • Помечено в качестве ответа Zrcadlo 11 августа 2012 г. 10:19
    11 августа 2012 г. 5:35
    Модератор

Все ответы

  • Наверное Вы хотели сказать в новом потоке текущего процесса обычно так делают, и в это нет ничего сложного. Если нет, то понятие процесс уже совершенно другое, это по сути новое приложение. Чтобы иметь возможность вызвать этот метод, нужно подключить библиотеку в котором он находится к этому приложению, а запущенным процессом Вы не управляете, это уже два разных приложения.
    10 августа 2012 г. 12:46
    Модератор
  • Можно - создать отдельное приложение, и сделать этот метод стартовым (entry point), вместо стандартного Main.

    А зачем вам вообще такое понадобилось? Если нужно просто полностью изолировать вызов метода от остального кода - то можно обойтить отдельным application domain вместо полноценного процесса.

    10 августа 2012 г. 15:11
  • Мне нужен именно процесс. И создавать для этого отдельный проект и компилить в отдельный бинарник никакого желания нет.

    Нужно в пределах одной сборки, если такое возможно.

    ClickOnce не хочет запускать приложения с правами администратора, но если моё приложение отдельным процессом запускает функции работы с реестром, то всё нормально, у него нужные права, у второго приложения. Можно, конечно, запускать одно и то же приложение дважды, да и много чего другого придумать по поводу ClickOnce, но мне нужно именно то, что описал в первом вопросе.

    11 августа 2012 г. 5:05
  • Ну если Ваш процесс может запустить другой с большими правами, или тот же с такими правами, то почему бы его и не запуститиь с самого начала с этими правами? Важно понять, что для запуска процесса нужна программа, которая должна у Вас быть, иначе никак не получится, хотите или нет но отдельно создавать придётся. Грубо говоря процесс и программа нераздлимые вещи, это фактически одно и то же, и запустить процесс совсем без ничего , как поток, не получится. А межпроцессное взаимодействие это уже совсем другой уровень сложности, которы в данном случае Вам не нужен.
    • Помечено в качестве ответа Zrcadlo 11 августа 2012 г. 10:19
    11 августа 2012 г. 5:35
    Модератор
  • Всем спасибо. 
    11 августа 2012 г. 10:19
  • Привет, если вы нашли решение сами, то было бы очень хорошо если вы поделитесь им. Таким образом вы поможете людям, которые могут искать решение для подобной проблемы. Спасибо

    Для связи [mail]

    29 августа 2012 г. 8:20
  • У этой задачи нет решения.
    29 августа 2012 г. 10:25