我可以通过在配置文件中指定它来调用另一个应用程序吗?

时间:2009-07-21 11:16:38

标签: c# asp.net wcf

假设我有一些asp.net和WCF Web服务应用程序,它们在服务器中运行良好。

不知何故,我想创建另一个应用程序A,用于通用用法, 我想将A的副本附加到所有那些asp.net或WCF应用程序。

但A与这些应用程序没有任何关系,A只是收集一些数据,做一些后台监控。那些asp.net和WCF应用程序不需要知道A做了什么。

但我的问题是;即使我将A作为参考添加到这些应用程序中,A中的代码也不会运行。

所以......你认为我可以在一些配置文件中指定A,这样在部署之后,A可以自动运行,并且自己完成工作,但在物理上,A与那些asp.net或WCF一起生活应用

由于

3 个答案:

答案 0 :(得分:1)

您可以添加到应用程序而不必在代码中添加对它的引用的一件事是Custom Trace listener,通过将这样的内容写入web.config或app.config:

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

也许这会为你做到这一点。

答案 1 :(得分:0)

以下是我创建的图书馆....但它对我不起作用....

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>

答案 2 :(得分:0)

我认为您需要告诉我们其他应用程序将要做什么。通过如此笼统地提出问题,你得到了一个对你没有任何帮助的答案。

有许多关于可以从外部收集的正在运行的进程的信息。这些技术都不需要像你要求的那样。您可以收集各种性能计数器;你可以收集流程统计数据。

通过大量工作,您可以收集有关运行单独程序的许多方面的信息。但在我们提供给你之前,你必须告诉我们你在寻找什么。

相关问题