2009-07-21 3 views
0

Angenommen, ich habe einige ASP.net und WCF Web Service-Anwendungen, die perfekt auf dem Server laufen.Kann ich eine andere Anwendung aufrufen, indem Sie sie in einer Konfigurationsdatei angeben?

Irgendwie möchte ich eine andere Anwendung erstellen A, für generische Verwendung, Ich möchte eine Kopie von A an alle diese asp.net oder WCF-Anwendungen anhängen.

Aber A hat nichts mit diesen Anwendungen zu tun, A sammelt nur einige Daten, macht Hintergrund-Monitoring-Sachen. Diese Asp.net- und WCF-Anwendungen müssen nicht wissen, was A tut.

Aber meine Frage ist; Selbst wenn ich in diesen Anwendungen A als Referenz hinzufüge, wird der Code in A nicht ausgeführt.

Also ... denkst du, ich kann A in einer Konfigurationsdatei angeben, so dass nach der Bereitstellung, kann A automatisch ausgeführt werden, und seine eigene Aufgabe, aber physisch, lebt A zusammen mit denen asp.net oder WCF-Anwendungen.

Dank

Antwort

1

Eines der Dinge, die Sie, ohne dass die Anwendung hinzufügen können Sie einen Verweis auf sie in den Code hinzuzufügen, ist ein Custom Trace listener, durch so etwas wie dies in den web.config oder app.config zu schreiben:

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

Vielleicht wird dies den Trick für Sie tun.

+0

wow ... cool stuff ... ich werde versuchen zu sehen, wie es geht und komme zurück und update auf Sie ........ fantastisch .... – jojo

+0

Hallo, ich versuche zu tun, was du sagst ..aber es spielt keine Arbeit .. mache ich eigentlich eine leere asp.net Anwendung .. und erstellen sie eine Klassenbibliothek aber es didn 't Arbeit für mich – jojo

+0

@jmservera: Wie diese Hilfe tut? –

0

Im Folgenden sind zur Bibliothek i schaffen .... aber es didn `t Arbeit für mich ....

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"); 
      } 
     } 
    } 
} 

In der Datei web.config i die folgenden haben ...

<system.diagnostics> 
    <sources> 
     <source name="DemoPlugin" switchValue="All"> 
     <listeners> 
      <add name="DemoPlugin" type="Plugin1.Class1" 
       initializeData="Hello"/> 
     </listeners> 
     </source> 
    </sources> 
    </system.diagnostics> 
0

Ich denke, Sie müssen uns sagen, was diese andere Anwendung tun wird. Indem Sie die Frage mit so viel Allgemeinheit gestellt haben, haben Sie eine Antwort erhalten, die Ihnen überhaupt nicht weiterhilft.

Es gibt viele Informationen über einen laufenden Prozess, die von außen gesammelt werden können. Keine dieser Techniken erfordert etwas, wonach Sie fragen. Sie können verschiedene Leistungsindikatoren sammeln; Sie können Statistiken für die Sammlung verarbeiten.

Mit viel Arbeit können Sie Informationen über viele Aspekte der Ausführung eines separaten Programms sammeln. Aber du musst uns sagen, wonach du suchst, bevor wir es dir geben können.

+0

@ John Saunders, Vielen Dank für Sie antworten, was die andere Anwendung tut, tatsächlich überwacht die Server-Statusinformationen, und machen einige Web-Service-Aufruf an das Repository senden. Sie können sich vorstellen, dass einige Leute zu mir kommen, sagen, dass sie sich über die Ressourcennutzung ihrer Webanwendung Sorgen machen, also werde ich daran denken, eine Anwendung zu schreiben, um den Serverstatus zu überprüfen. aber einige der Leute hosten dort Anwendung vor Ort, und einige der Host in der Cloud, so dass ich besser ein Plugin erstellen würde, die mit dort Anwendung leben kann, .... – jojo

+0

Ok. Aber das ist komplizierter als Sie vielleicht denken. Du wirst eine Menge Ärger mit so etwas in Medium Trust haben. Sie werden Probleme haben, mit dem Plug-In zu kommunizieren, und Sie werden keinen neuen Prozess starten können. Sie sollten wirklich über eine andere Möglichkeit nachdenken, dies zu tun. –

+0

hmm ... wenn ja ... dann muss ich meine Meinung dann ändern ... danke für deinen rat ....... ich starre wieder von Null dann .. – jojo

Verwandte Themen