Могу ли я вызвать другое приложение, указав его в файле конфигурации? - PullRequest
0 голосов
/ 21 июля 2009

предположим, у меня есть несколько приложений веб-служб asp.net и WCF, которые отлично работают на сервере.

Каким-то образом я хочу создать другое приложение A для общего использования, Я хочу прикрепить копию A ко всем этим приложениям asp.net или WCF.

Но А не имеет ничего общего с этими приложениями, А просто собирает некоторые данные, выполняет некоторые фоновые наблюдения. Эти приложения asp.net и WCF не должны знать, что делает А.

Но мой вопрос таков; Даже если я добавлю A в качестве ссылки в эти приложения, код в A не запустится.

Итак ... как вы думаете, я могу указать A в некотором файле конфигурации, чтобы после развертывания A можно было запускать автоматически и выполнять свою работу, но физически A живет вместе с этими asp.net или WCF приложения.

Спасибо

Ответы [ 3 ]

1 голос
/ 21 июля 2009

Одна из вещей, которую вы можете добавить в приложение, не добавляя ссылку на него в код, - это Custom Trace listener , записав что-то подобное в web.config или приложение. конфиг:

<system.diagnostics>
  <sources>
    <source name="yourservicename" switchValue="All">
      <listeners>
        <add name="simplename" type="YourTypeHere"
             initializeData="config values here"/>
      </listeners>
    </source>
  </sources>
</system.diagnostics>

Может быть, это поможет тебе.

0 голосов
/ 23 июля 2009

Я думаю, вам нужно сообщить нам, что будет делать это другое приложение. Задавая вопрос с такой распространенностью, вы получили ответ, который вам совсем не помог.

Существует много информации о запущенном процессе, которую можно собрать извне. Ни один из этих методов не требует ничего подобного тому, что вы просите. Вы можете собирать различные счетчики производительности; Вы можете собирать статистику процесса.

Проделав большую работу, вы можете собрать информацию о многих аспектах работы отдельной программы. Но вам нужно будет сказать нам, что вы ищете, прежде чем мы сможем дать вам это.

0 голосов
/ 22 июля 2009

Ниже приведены библиотеки, которые я создаю ... но у меня это не сработало ....

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.ServiceHosting.ServiceRuntime;
using System.Threading;

namespace Plugin1
{
    public class Class1
    {
        static void Main(string[] args)
        {
            if (args != null)
            {
                RoleManager.WriteToLog("Information", args.ToString());
                Console.WriteLine(args.ToString());
            }

            while (true)
            {
                Thread.Sleep(1000);
                RoleManager.WriteToLog("Information", "Hello I am plugin");
                Console.WriteLine("Hello I am plugin");
            }
        }
    }
}

В файле web.config я сделал следующее ...

  <system.diagnostics>
    <sources>
      <source name="DemoPlugin" switchValue="All">
        <listeners>
          <add name="DemoPlugin" type="Plugin1.Class1"
               initializeData="Hello"/>
        </listeners>
      </source>
    </sources>
  </system.diagnostics>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...