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.
Welches Buch hast du denn?
Ich bin mir zu 101% sicher, dass in dem Buch zu WCF auch SvcUtil erwähnt wird, da das der Standardweg ist einen Service als Client zu benutzen...
Yami schrieb:
Moin,
Nächstes Jahr werde ich im Fach Programmieren mit C# proggen und dachte mir, ich fand schonmal privat ein wenig an und wollte fragen obs ein gutes E-Book dafür gibt.
Hier im Forum wird öfters das OpenBook von Galileo Computing empfohlen. Ich selbst finde das zwar nicht so gut, da (zumindes eine ältere Version) eher „mal schnell hingeschustert war“, einen didaktisch dämlichen Aufbau hatte und zudem einige Fehler enthielt. Vielleicht ist die neue Auflage aber auch besser (wobei ich da eher zweifle, wenn ich mir so die anderen Bücher des Verlags anschaue, die allesamt auch zu wünschen übriglassen):
http://www.galileocomputing.de/openbook/csharp/
Ob's das auch als PDF gibt, weiß ich allerdings nicht.
Für Visual Basic gibt's von Microsoft übrigens was. Vielleicht magst Du da ja mal reinschauen, C# und VB sind sich sehr ähnlich.
http://www.microsoft.com/germany/msdn/aktuell/news/MicrosoftVisualBasic2005DasEntwicklerbuch.mspx
PS: hab mir als IDE Visual C# 2008 von Microsoft gezogen, taugt das?
Ja. Es gibt auch nicht große Alternativen. Klar, es gäb' da noch SharpDevelop und MonoDevelop, doch die Microsoft-IDE hängt die beide locker ab.
Sparki, bitte antworte mir auf folgende Fragen, damit ich deinen Code besser verstehen kann:
1. Wie heißen deine Forms (Klassennamen der Main-Form bzw. der Nicht-Main-Forms)?
2. Welcher Programmteil öffnet die Nicht-Main-Forms?
3. Hast Du denn deine Anwendung als Singleton implementiert? Aus dem Code geht das nicht hervor.
4. Wie hast Du die Verknüpfung zum Dateityp hergestellt?
O.o schrieb:
C(#) macht keinen Unterschied zwischen Funktionen und Prozeduren.
Richtig, weil man in .Net gar keine Funktionen und Prozeduren hat, sondern nur Methoden
Deine Aussage ist natürlich richtig dass nicht unterschieden wird, da aber sämtlicher funktionaler Code immer in irgend einem Klassenkontext steht, heißen sie Methoden. Funktionen und Prozeduren sind eigenständige Funktionalität wie sie in .Net nicht vorkommt.
Flüchtigkeitsfehler sind schnell gemacht. Darum liebe ich die Anweisung "using":
using (StreamReader sr = new StreamReader(@"C:\Staffel.txt"))
{
[...]
}
Siehe: http://msdn2.microsoft.com/en-us/library/yh598w02(VS.80).aspx
(P.S. Natürlich muss man auch wissen WAS ein Stream ist, damit man das Ganze versteht)
s. z.B. http://www.c-plusplus.net/forum/viewtopic-var-t-is-99352-and-highlight-is-%2Ascreenshot%2A.html
Dort ist ein Link zum Erstellen eines Screenshots (Desktop, bzw. wenn das Fenster-Handle bekannt ist).
Doch, es ist geeignet. Das Framework ist ja rückwärtskompatibel und die Codebasis lässt sich auch problemlos auf die jeweils neue Version hochziehen (konvertiert werden nur die Projektdateien). Im neuen Visual Studio kann man sogar die Ziel-Framework-Version auswählen. Von daher: klar, ist auch für längerfristig angelegte Projekte durchaus gut geeignet.