Задать вопрос
Пользователь пока ничего не рассказал о себе

Достижения

Все достижения (15)

Наибольший вклад в теги

Все теги (127)

Лучшие ответы пользователя

Все ответы (284)
  • Как получить данные из стандартных команд cmd.exe в своем приложении на C#, не вызывая подпрограммы?

    @mayorovp
    У вас путаница в мыслях... Во-первых, "подпрограмма" - это в C# синоним метода. Если вы используете winforms - то вы уже используете кучу подпрограмм :) А то, чего вы хотите избежать, называется "внешняя программа" или "дочерний процесс".

    Во-вторых, рефлексия возможна только в отношении программ на платформе .NET - а перечисленные вами программы являются нативными. Разумеется, рефлексия в их отношении невозможна. По той же причине бесполезно из декомпилировать - все равно вам надо будет писать то же самое на другом языке.

    В-третьих, ping, tracert и netsh не являются командами cmd.exe. Команды cmd.exe - это echo, if, call, set, goto, for и т.д., а то, что вы перечислили - это системные утилиты.

    Теперь по вопросу.

    ping. Имеется вот этот класс: msdn.microsoft.com/en-us/library/system.net.networ... Ни разу с ним не работал, но выглядит удобным.

    tracert. Используйте тот же класс, указав Ttl в PingOptions.

    netsh. Тут все сложнее. Дело в том, что эта программа - обертка для кучи разных настроек, находящихся в совершенно разных местах. Если вам нужно получать данные - то попробуйте поискать их в msdn.microsoft.com/en-us/library/system.net.networ... Если их там нет - гуглите. Главное - гуглите без ключевого слова netsh.

    etc. А вот тут все не просто сложно, а невозможно. Невозможно взять неизвестную заранее утилиту, и сделать то же самое, что она делает, не запуская ее при этом. Поэтому вам надо определиться - либо ваша программа умеет выполнять фиксированный список действий - либо ей можно передать любую команду, но она будет запускать дочерние процессы. Возможен и промежуточный вариант - есть действия, которые программа может выполнять сама, а для выполнения других будут запускаться дочерние процессы.
    Ответ написан
    Комментировать
  • Где, когда и как лучше использовать лямбда-выражения?

    @mayorovp
    Если кратко - то используйте лямбды до тех пор, пока не запутаетесь в них. Как запутаетесь - так и поймете ответ на свой вопрос.
    Ответ написан
    Комментировать
  • Curl отправляет GET вместо POST после редиректа?

    @mayorovp
    При редиректе надо использовать код 307, чтобы сохранить тип запроса.
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=307]
    


    Вот так, если я ничего не напутал.
    Ответ написан
    2 комментария
  • Windows 7 при установке себя на SSD разбила диск на три части, это нормально?

    @mayorovp
    Первый раздел — загрузочный.
    Не знаю, зачем он нужен, но это — нормально.

    А полмегабайта в конце — это остатки, которые во второй раздел просто не влезли. Опять-таки, я не знаю, почему они не влязат туда, но их наличие — это тоже нормально.
    Ответ написан
    1 комментарий
  • Jboss и TomCat. Как это работает?

    @mayorovp
    Аналогия неверна тем, что Java-машина является аналогом CLR.NET, а не ASP.NET
    Аналог ASP.NET в данной связке — это как раз-таки Tomcat.

    JBoss в базовом случае совершенно не нужен. JBoss — это реализация JavaEE (да, что-то вроде библиотеки). Ближайший аналог из мира .NET — Castle (общих у них две вещи: они оба обожают xml-файлы настроек и включают в себя столько функционала, что никто в мире никогда не использовал весь одновременно).
    Ответ написан
    Комментировать

Лучшие вопросы пользователя

Все вопросы (8)