2009-07-21 51 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

我想你需要告訴我們這個其他應用程序會做什麼。通過這麼普遍地提出這個問題,你已經收到了一個根本無法幫助你的答案。

有一些人正在運行的進程,可以從外部收集很多信息。這些技術都不需要你想要的東西。你可以收集各種表現計數器;您可以收集過程統計信息。

有了大量的工作,你可以收集在一個單獨的程序運行的許多方面的信息。但是在我們可以給你之前,你必須告訴我們你要找的是什麼。

相關問題