In die richtung "Observer Pattern" gedacht:
Lass die einzelnen Forms sich registrieren und heb die Registrierung beim schließen wieder auf.
Das GPRS Event sollte nichts über die Formen, die Daten darstellen wissen, das Design hört sich bei den wenigen Informationen ein wenig unglücklich an.
Das wird wohl nur mit WinAPI direkt gehen. Such mal im WIN-API Forum nach Tray, dann rufst du von C# aus diese Funktionen mittels "[DllImport ...] auf (erst FindWindow() o.ä. und dann ShowWindow(handle, SW_SHOWNA) )
ja mit findwindow wird das denke ich nicht so einfach, denn er öffnet das automatisch in einem neuen Tab im firefox!? Achja is ne ganz einfache c# Konsolenanwendung mit Visual Studio 2008
EDIT: Was meinsten du mit P/Invoke?
BorisDieKlinge schrieb:
ich MUSS C# verwenden wird mir vorrgegben;)
Du solltest dir mal langfristig überlegen ob du nicht mit einer Verbohrtheit und Vorurteilen an Sprachen herangehst, die eher zu Einem passen der schon seine Rente in greifbarer Nähe hat. Du wirst dir eher selbst schädigen wenn du alles als schlechter als Beispielsweise C++ abstempelst, weil Motivation durchaus wichtig ist.
Ich sage nicht das du alle Sprachen jetzt willkommen heißen musst, aber trenne dich von der Einstellung das nur xyz gut ist (von allen Sprachen die mir bisher untergekommen sind, lehne ich nur eine wirklich ab - wobei ich selbst dieser eine Existenzberechtigung einräume und weiß das diese ihren Sinn und Zweck hat).
cu André
Ich finde WCF ist für diese Anwendung nicht so geeignet.
Im .NET Framework gibt es eine gute Unterstützung für Netzwerk- Kommunikation.
Die entsprechenden Klassen befinden sich in den Namespaces System.Net und System.Net.Socket.
Gruss Simon
Also das was du sagst, ist IMHO auch der sauberste Weg. Man sollte in seinem eigentlichen Anwendungscode eh nicht direkt über WCF (bzw. egal welche Verteilungstechnologie) an die einzelnen Services/Daten ran, sondern man sollte das über eine extra Schicht regeln, die eben alles was mit WCF zu tun hat behandelt, und das dann in die eigentlichen Anwendungsobjekte umwandelt (auch wenn das evtl. ein 1:1 Wrapping ist).
D.h. dein eigentlicher Anwendungscode bleibt somit frei von irgendwelchen WCF-Geschichten, was eben letztlich bedeutet, dass du in dieser Schicht so ein Wrapping machst wie du es meinst.
Ich möchte, das jeweils jeder Client immer das gleiche service objekt benutzt, so das nicht bei jedem aufrufe einer service operation ein neues service objekt angelegt wird? so bin ich auf die das "ServiceBehavior ... PerSession" siehe code gekommen..
[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerSession)]
class DBService : MyLitMSASer.Service.IMSAccessServer,IDisposable
{
private int iClassMember = 0;
static int iSessionCreationcounteR = 0;
//Service Konstruktor wird aufgerufen, sobald einer deren serviemethodne aufgerufen wird
DBService()
{
iSessionCreationcounteR++;
Console.WriteLine("Current Services " + iSessionCreationcounteR);
}
~DBService()
{
iSessionCreationcounteR--;
Console.WriteLine("Current Services " + iSessionCreationcounteR);
}
public void Dispose()
{
iSessionCreationcounteR--;
Console.WriteLine("Current Services " + iSessionCreationcounteR);
}
public int GetMyValue()
{
return iClassMember;
}
public void SetMyValue(int iNewValue)
{
iClassMember = iNewValue;
}
.
.
.}
dann hab ich mir gedacht ich setze die ServiceContract eigenschaft im itneface auf [ServiceContract(SessionMode = SessionMode.Required)] , dann kommt ein fehler, da dies das httpbinding nich unterstützt.. denke mal dran weil ich nicht verbindungsorientiert server/client kommuniziere??
Zweite frage: Der Destruktor geht auch net, muss das über dispose machen.. ist doch quatsch oder???
grüße
Hallo zusammen,
ich bin schon seit Stunden auf der Suche nach einem Weg das Standard-Audio-Wiedergabegerät zu ändern, konnte da jedoch nichts Brauchbares zu finden.
Ich komme eigentlich aus der Java-Ecke und weiß nicht, ob das so mit c#/.NET überhaupt möglich ist.
Kann mir wer weiterhelfen?
Im Grunde möchte ich lediglich nicht immer, wenn ich zwischen Kopfhörern und meiner Anlage wechsel, die Einstellungen der Wiedergabegeräte ändern.
Grüße
Bert
Hi Leute,
hab da mal ne Frage:
ich bin dabei, ein kleines unterstützungstool zu schreiben, das einem hilft, nicht immer alles von hand eingeben zu müssen (login-name, ...). nun wäre ein weiterer punkt die mail-adresse. nur laufen hier die mail-adressen über nen exchange-server (firmennetzwerk) und sind unterschiedlich zum login-namen. gibt es eine möglichkeit, die mail-adresse aus outlook oder vom exchange-server zu erfahren?
MastaZulu
Das ist doch wurscht wo der Server liegt, Du übergibst das doch im ConnectionString, wer der MySQL-Host ist:
String connstr = "Server=mysql.server.tld;User Id=root;Persist Security Info=True;Database=mydatabase";
using (MySqlConnection cnc = new MySqlConnection(connstr))
{
cnc.Open();
}
Hast Du denn schon den DotNet-MySQL-Adapter als Referenz eingebunden?
auf http://dev.mysql.com/doc/ kannst Du die Connector/NEt-Doku runterladen.