假设我有一些asp.net和WCF Web服务应用程序,它们在服务器中运行良好。
不知何故,我想创建另一个应用程序A,用于通用用法, 我想将A的副本附加到所有那些asp.net或WCF应用程序。
但A与这些应用程序没有任何关系,A只是收集一些数据,做一些后台监控。那些asp.net和WCF应用程序不需要知道A做了什么。
但我的问题是;即使我将A作为参考添加到这些应用程序中,A中的代码也不会运行。
所以......你认为我可以在一些配置文件中指定A,这样在部署之后,A可以自动运行,并且自己完成工作,但在物理上,A与那些asp.net或WCF一起生活应用
由于
答案 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)
我认为您需要告诉我们其他应用程序将要做什么。通过如此笼统地提出问题,你得到了一个对你没有任何帮助的答案。
有许多关于可以从外部收集的正在运行的进程的信息。这些技术都不需要像你要求的那样。您可以收集各种性能计数器;你可以收集流程统计数据。
通过大量工作,您可以收集有关运行单独程序的许多方面的信息。但在我们提供给你之前,你必须告诉我们你在寻找什么。