2009-07-21 48 views
0

假设我有一些asp.net和WCF Web服务应用程序,它们在服务器上运行得很完美。我可以通过在配置文件中指定它来调用另一个应用程序吗?

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

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

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

那么......你觉得我可以在一些配置文件指定,这样部署后,可以自动运行,并做了自己的工作,但实际上,A与那些asp.net同居或WCF应用程序。

感谢

回答

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> 

也许这会为你做的伎俩。

+0

哇...很酷的东西......我会尝试看看它是如何去和回来,并更新到你........梦幻般.... – jojo 2009-07-21 12:13:14

+0

嗨,我试着做什么你说了..但它不`吨工作.. 我创建了一个空的asp.net应用程序.. 并创建一个类库 但didn`t为我工作 – jojo 2009-07-22 13:52:37

0

下面是图书馆中,我创建....但它didn`t工作对我来说....

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> 
0

我想你需要告诉我们这个其他应用程序会做什么。通过这么普遍地提出这个问题,你已经收到了一个根本无法帮助你的答案。

有一些人正在运行的进程,可以从外部收集很多信息。这些技术都不需要你想要的东西。你可以收集各种表现计数器;您可以收集过程统计信息。

有了大量的工作,你可以收集在一个单独的程序运行的许多方面的信息。但是在我们可以给你之前,你必须告诉我们你要找的是什么。

相关问题