Laden...
Avatar #avatar-2966.gif
Stipo myCSharp.de - Member
Elektroinstallateur Lörrach Dabei seit 09.04.2007 699 Beiträge
Benutzerbeschreibung

Forenbeiträge von Stipo Ingesamt 699 Beiträge

20.09.2009 - 17:57 Uhr

Das mit den großen FritzBoxen kann ich mir nicht erklären, denn wenn die kleine an dem Splitter funktioniert, dann liegt dort auch das DSL richtig an.

Ich kann mir nur denken, das eventuell etwas an der Kabelpeitsche faul ist.

Es gibt da ein FritzBox Forum. Dort würde ich mal anfragen, ob jemand einen Kontakt-Belegungsplan für den Western-Anschluss der FritzBox hat, und mir das DSL mal direkt über ein altes ISDN Kabel anschließen. Musst dafür nur die beiden Kontakte belegen die das DSL an der FritzBox annehmen.

Wenn das alles dann nichts hilft, dann bin ich im moment auch ratlos, denn wie gesagt, wenn 1 Fritz geht, dann ist DSL vorhanden, was ja ein Problem hätte sein können.

Grüße Stephan

20.09.2009 - 17:18 Uhr

Hallo zusammen,

danke für die erklärung. Solche angaben stehen ja leider selten in irgendwelchen Büchern. Ich finde aber, das auch dies durchaus wichtig ist, das man darüber bescheid weiß, gerade wegen dem Speicherverbrauch, was in Umfangreichen Programmen schnell auch probleme machen kann.

Hier ist noch ein schönes Beispiel zu Enum Werten aus einem anderen Thread Loggen in C# .

Das sollte man sich auch ansehen Enums.

[Edit: Link zugefügt]

Grüße Stephan

20.09.2009 - 17:07 Uhr

hm, warum denn nur im Hinterkopf? Die Lösung ist eindeutig besser. Wenn es dich stört, dass man zwei Variablen braucht (ctrl und box) habe ich oben noch eine dritte Variante eingefügt.

Hi herbivore,

ich habe nie gesagt, das mich deine Lösung stört. Ich behalte das nur mal im Hinterkopf aus folgendem Grund: Ich teste mich gerade noch durch, wie ich das alles in einer Modul ( PlugIn ) Technik umsetze.

Aber deine Lösung findet darin dann sicher noch genau den richtigen Platz 😉

Grüße Stephan

20.09.2009 - 02:15 Uhr

Hallo herbivore,

danke noch für die Korrektur und den Vorschlag Hinweiß.
Werde mir den Ansatz von Dir im Hinterkopf behalten.

Grüße Stephan

20.09.2009 - 02:11 Uhr

Nabend zusammen,

mich beschäftigt gerade eine frage zu den Enum Aufzählungen.
Habe da ein Beispiel im Internet gesehen, wo ich im moment den Sinn noch nicht ganz verstehe.

enum EmpType : byte {
    Manager = 10,
    Grunt = 1,
    Contractor = 100,
    VP = 9
}

Worin besteht der Unterschied zu folgenden schreibweisen?

enum EmpType {
    Manager,
    Grunt,
    Contractor,
    VP
}

enum EmpType {
    Manager = 1,
    Grunt = 2,
    Contractor = 3,
    VP = 4
}

Alle funktionieren ja, das ist auch nicht das Thema. Ich frage mich nur was das mit dem ableiten von byte und den verschiedenen Zahlenwerten aufsich hat. Auch warum die Zahlen verschieden sind und nicht zB fortlaufend.

Grüße Stephan

PS: Ja ich weiß, ich bin sehr Wissensdurstig 😉

19.09.2009 - 22:14 Uhr

Nabend zusammen,

wollte mal kurz in die Runde fragen, ob es bei einem ASP.NET Web-Application Projekt besser ist, wenn man eine Große gemeinsame DLL Datei hat, oder ob auch viele ( ca. 20 Stück ) kleine Dateien gehen?

Was ich im moment schon sehen kann, das ich folgenden Aufbau haben werde:

  1. ASP.NET Web Projekt Dll
  2. Eine BusinessLayer Dll
  3. Eine DataLayer Dll
  4. Eine Helper Dll
  5. Eine Projekt API Dll

Die werden also immer vorhanden sein. Größe der einzelnen Dateien kann ich noch nicht absehen.

Hintergrund der Frage ist. Ich möchte einiges in Modulbauweise bauen, das dann dynamisch installiert und genutzt werden kann. Die Dll Dateien dürften dann alle aber sicher nicht so groß sein.

Aber ich bin mir nicht sicher, ob das auch gut ist, wenn man so viele kleine Dateien baut.

Grüße Stephan

18.09.2009 - 22:14 Uhr

Nabend zusammen,

ich schiebe mal noch einen super Link nach Events und Delegates im Detail - Feinheiten in MSIL.

Für jeden, der sich etwas tiefer in die Delegates einarbeiten möchte, ist dieser Webcast fast schon ein muss.

Grüße Stephan

PS: Danke an Golo Roden, für den super Webcast.

18.09.2009 - 20:09 Uhr

Hallo zusammen,

danke für die Tips und die Lehrreichen Hinweise.

Ich konnte mein Problem nun sauber über ein Interface lösen, was auch meinen Vorstellungen von Modularer Bauweise entspricht.

Hier mal noch den angepassten Code, für die Nachwelt, wenn es noch jemand gebrauchen kann.

foreach (var item in bo)
            {
                // Eine Box dynamisch einfügen
                IBox box = (IBox)LoadControl(item.UserControlFileName);
                box.BoxTitel = item.Titel;
                if (item.Position == BoxPosition.Left)
                {
                    PlaceHolderLeftColumn.Controls.Add((System.Web.Ui.UserControl)box);
                }
                else if (item.Position == BoxPosition.Right)
                {
                    PlaceHolderRightColumn.Controls.Add((System.Web.Ui.UserControl)box);
                }
            } 

Wichtig dabei ist, das man das UserControl gegen ein Interface bindet.
Auch wichtig ist, das man dann das übergebene IBox Object in ein System.Web.Ui.UserControl Casten muss.

Grüße Stephan

18.09.2009 - 05:09 Uhr

Moin moin zusammen,

ich möchte den Klassennamen eines Web UserControls auslesen, von einer Klasse wo ich den Klassennamen als String vorliegen habe ( kommt aus einer Datenbank ).

Erst mal ein bisschen Code:

Type MyType = Type.GetType("AspProject.Controls.MainMenuBox");

Darüber komm ich schon mal an den Klassennamen ran.

MyType.Name // <- enthält dann MainMenuBox

Soweit sind auch noch keine Probleme vorhanden.
Doch möchte ich das UserControl zur Laufzeit in einer schleife ( sind mehrere ) zu einer MasterPage in einem PlaceHolder einfügen.

Dazu verwende ich folgenden Code:

foreach (var item in bo)
            {                
                // Eine MenuBox dynamisch einfügen
                Type MyType = Type.GetType("AspProject.Controls.MainMenuBox");
                                
                MainMenuBox box = (MainMenuBox)LoadControl(item.UserControlFileName);
                box.BoxTitel = item.Titel;
                if (item.Position == BoxPosition.Left)
                {
                    PlaceHolderLeftColumn.Controls.Add(box);
                }
                else if (item.Position == BoxPosition.Right)
                {
                    PlaceHolderRightColumn.Controls.Add(box);
                }
            }

Hier ist nun mein Problem dabei:

MainMenuBox box = (MainMenuBox)LoadControl(item.UserControlFileName);

In dieser Zeile hab ich nun meine echten Probleme und komme nicht mehr weiter.
Wie muss ich das nun anstellen, das ich die beiden vorkommen von MainMenuBox mit dem Inhalt aus MyType.Name ersetzt bekomme?

Ich hoffe ich konnte das etwas geschickt erklären.

Bin über jede Hilfe froh, denn das schafft mich im moment doch sehr.

Grüße Stephan

16.09.2009 - 18:52 Uhr

Hast Du schonmal geprüft, ob der IIS auch in der Gruppe der Berechtigten User ist?

Das es auf deinem Entwicklungsrechner geht, dürfte sich damit erklären, das die im VS integrierte Server Lösung unter deinem Benutzername läuft.

16.09.2009 - 18:06 Uhr

Hallo Peter,

ich möcht Dir mal schreiben, was ich denn genau damit vor habe.
Ich benötige innerhalb meiner Anwendung an verschiedenen Stellen immer gleichbleibende Informationen wie etwa: Domain Name, Meta Informationen, das verwendete Design (Theme), und diverse Steuer Informationen (bool) ob zB ein gewisser Bereich angezeigt werden soll usw.

Das alles soll man komfortabel im Admin Bereich einstellen können, wodurch ein speichern in der Datenbank die beste Lösung darstellt.
Aber um nicht bei jedem Seiten Zugriff immer wieder die Daten aus der DB lesen zu müssen, sollen die solange zwischen gespeichert sein, wie der User sich auf der Seite aufhält.

Von Static Klassen und Singleton möcht ich aber abstand nehmen, da dies ja Fehler verursachen kann.

Deshalb dachte ich mir, das ich in der global.asax in Session_Start() dies einmal auslesen lasse aus der DB und dann im ApplicationState speichere.

Es soll aber anders rum, trotzdem flexibel genug sein, das wenn der Admin irgendwelche Werte verändert, diese dann auch wieder gelesen werden.
Somit scheidet für mich in der global.asax die Application_Start() Methode aus, da die ja nur ausgelöst wird, wenn der Server neu gestartet wird.
Außerdem wären dann ja alle Sessions auch verloren, was auch nur in Ausnahmefällen der Fall sein darf ( neue Version, Server Neustart etc ) aber sicher nicht, wenn nur mal eben ein Titel umgeschrieben wurde.

Einen kleinen Overhead würde ich dadurch in kauf nehmen, das bei jedem neuen User der eine neue Session verpasst bekommt, eine Datenbank abfrage gemacht wird. Aber ich spare mir den riesen Overhead, wenn bei jeder Seitenabfrage die ganze Zeit Datenabfragen gemacht werden müssen.

Denke mein vorhaben ist nun etwas klarer.

Das Caching muss ich mir mal noch ansehen, vieleicht kann das ja wirklich noch die Lösung sein, die ich suche.

Grüße Stephan

16.09.2009 - 17:22 Uhr

Hallo zusammen,

danke erst mal an alle für die noch Hilfreichen Tips dazu.

@Peter, ich glaube ich hab da ein gutes Beispiel in der MSDN gefunden, wie man Globale Daten die für alle gleich sein sollen im Anwendungszustand speichern kann.

Gewusst wie: Speichern von Werten im Anwendungszustand

Meine Idee ist jetzt, das ich eine Klasse schreibe die von System.Web.Ui.Page erbt und darin eine Methode schreibe, in der ich mir die ganzen Daten von der Datenbank laden und im Anwendungszustand speichern kann.
Aufrufen will ich die Methode dann in der global.asax in Session_Start().

Mal sehen ob euch meine Idee genauso gut gefällt wie mir im Moment 😉
Aber ich nehme gerne noch verbesserungen an 😃

Grüße Stephan

16.09.2009 - 01:21 Uhr

Andererseits ist das aber ein Problem, was jede Spedition und jeder Kurierdienst hat, deswegen habe ich in meiner Naivität angenommen, daß es dafür eine kommerzielle Lösung auf dem Markt geben müßte. Wer also noch einen Tip hat, würde mir einen großen Gefallen tun! Ich denke nicht, das es dafür ein Programm geben wird.
Das beladen des LKW ist Aufgabe des Packers oder des Fahrer selbst, und da spielt eine gewisse portion erfahrung eine rolle, wie man einen LKW am besten lädt.
In aller Regel ist nur die Tour selber vorgegeben und welche abladestellen es gibt, Das bedeutet, das man die letzte abladestelle als 1. einpackt 😉
Und ob auf dem Lastwagen noch Platz ist ( Disponent ) kann der anhand des Volumen der Pakete sehen.
Und es wird selten bis NIE vorkommen, das auf einem LKW das Ladevolumen voll ausgenutzt wird.

Grüße Stephan

PS: Mein Vater war 20 Jahre Fernfahrer und musste seinen LKW selbst laden 😉

16.09.2009 - 01:04 Uhr

Hallo zusammen,

nur mal um mein Wissen zu verifizieren 😉

HttpContext:
Alles was im HttpContext gespeichert wird zB.

HttpContext.Current.Items.Add("Key", "Value");

bleibt nur solange gespeichert, bis die Seite komplett geladen ist ( Lifecycle ) und danach sind die Werte verloren?
Somit kann man den HttpContext nur verwenden, um innerhalb des Lifecycle Werte von einer Stelle zur nächsten zu transportieren.
Beispiel: In einem HttpModul im BeginRequest Event etwas speichern und in einer *.aspx Seite dann in Page_Load verwenden.

Session:
Session sollten dann verwendet werden, um User bezogene Daten zu speichern. Das ist mir soweit auch klar.

Nur hab ich eine kleine Frage, die mich noch interessiert.
Ich möchte meine Seite mit Themes und UiCulture dynamisch und anpassbar machen. Dazu muss man ja an irgenwelchen Stellen die Infos dazu speichern.
Theme = XYZ
Language = de_DE
Sollte ich das in der Session speichern? Die Sprache würde ich schon fast sagen, da die ja User bezogen ist. Aber das Theme, das soll nur vom Sitebetreiber einstellbar sein ( Datenbank ) und dann gesetzt werden. Würdet Ihr das Theme dann auch in der Session speichern, oder doch eher im HttpContext?

Ein bisschen nachdenkliche Grüße
Stephan

PS: Ich möchte so wenig wie nur möglich fest in der Web.config speichern ( Themes ) und dafür dynamisch über eine Datenbank lösen, mit netter Admin Oberfläche.

16.09.2009 - 00:40 Uhr

Hier mal noch ein guter Artikel von Peter in seinem Block.
Der hat mir den Sinn eines HttpModuls auch schon sehr viel näher gebracht, und praktisch ist der Tip auch noch 😉

Grüße Stephan

15.09.2009 - 18:09 Uhr

Habe mir gestern nacht noch die Dosen angesehen: Die NF-Dose lässt sich abschrauben und so verkabeln wie hier vorgeschlagen aber nicht im Zusammenhang mit der Original Telekom TAE-Dose im Heizungskeller, dort ist keine Schraube dran, kann ich also vermutlich ohne Gewalt nicht öffnen. Diese Möglichkeit fällt dann wohl aus.

Alles was irgendwann zusammen ging, geht auch auseinander 😉 Es gibt in dem Fall 2 Möglichkeiten:

  1. Schraube ist unter einer Plastik Abdeckung
  2. Es muss irgendwo ein kleiner Schlitz sein. Dort mal einen Schraubendreher rein stecken ( Größe 1 ), dann sollte sich die Abdeckung abnehmen lassen.

Okay, hab verstanden was Du möchtest.
Du willst alles oben im Wohnzimmer haben, was auch sinn macht, wenn man das Telefon an die FritzBox anschließen möchte.

Um das hin zu bekommen würde ich im Keller alles weg machen, was dort im Moment installiert ist und die beiden Kabel ( Vom AMT und nach oben ins Wohnzimmer) miteinander verbinden.

Auf dem Telekom Kabel sollte das AMT auf folgenden Leitungen liegen:
Rot
Rot 1 Strich

Die beiden Leitungen kannst Du mit der Leitung wo vom Wohnzimmer kommt verbinden ( die beiden Adern welche im Moment an der Dose angeschlossen sind)

Dann kannst Du ganz normal im Wohnzimmer den Splitter, Modem und Telefon anschließen, wie Du das haben möchtest.

Grüße Stephan

15.09.2009 - 16:01 Uhr

@dr4g0n76,

Nur um mal deinen Wunsch genauer zu erfahren.

  1. Das Telefon und DSL mit Modem soll im Wohnzimmer sein.
  2. Des Telefon soll im Wohnzimmer sein, aber der DSL Anschluss mit Modem im Keller.

Welches der beiden Situationen möchtest Du umsetzen?

Frage nur, das ich Dir die richtige Anleitung geben kann 😉 ( Bin Elektroinstallateur )

[Edit] Noch eine zusätzliche Frage. Soll das Telefon an der FritzBox angeschlossen werden?

Grüße Stephan

15.09.2009 - 15:56 Uhr

nur wäre ein eventueller Servicetechniker oder Nachmieter weniger verwirrt sollte dort mal was geändert werden :=)

Wenn ein Techniker mit so einer Situation nicht klar kommt, dann sollte er besser seinen Beruf an den Nagel hängen 😉

Grüße Stephan

14.09.2009 - 21:51 Uhr

Merci erstmal,

also ich hatte letzte Woche mal die Gelegenheit, durch ASP.NET 3.5 - Konzepte und Techniken zur Programmierung von Websites zu blättern. Da war ein komplettes Kapitel über Handler und Module. Wenn du mal ins Inhaltsverzeichnis guckst: Es sind fast 40 Seiten.
Das sind dann aber nochmal 1100 Seiten und 60€... Hmm das Inhaltsverzeichnis bietet schon echt starke Themen. Das frustet aber dann noch mehr, da ich mir im Moment das Buch nicht leisten kann.

Zum Thema HttpHandler habe ich mal was geschrieben:


  • >
    Das habe ich mir schon durchgelesen gehabt. Den sinn und den Nutzen dahinter hab ich "denke ich mal" verstanden.

Wenn du die Global.asax kennst, also die Stelle an der du Applikationsevents behandeln kannst, solltest du schnell verstehen, was es mit den HttpModules auf sich hat. Ich werde mir demnach das Kapitel über die Global.asax und dem Seiten-Lifetime mal nochmal zu gemüte führen.

Danke auf jedenfall schon mal. Das hat mich schon mal ein bisschen weiter gebracht.

Grüße Stephan

14.09.2009 - 20:57 Uhr

Nabend zusammen,

bin gerade etwas gefrustet. Hab hier 1200 Seiten für 50€ gekauft, was speziell ASP.NET 3.5 behandelt, aber keines dieser " in 21 Tagen " Bücher ist, und mit folgendem Kommentar zu HttpHandler und HttpModules versehen ist:

Diese beiden (vergleichsweise selten verwendeten) Technologien können aus Platzgründen nicht in diesem Buch behandelt werden.

Irgendwie scheinen mir die Möglichkeiten, die einem HttpHandler und HttpModule bieten, doch schon sehr nützlich zu sein. Daher suche ich richtig gute Quellen dazu um die Technologie zu lernen und zu verstehen.

Jeder Link, Empfehlung nehme ich gerne an.

Grüße Stephan

14.09.2009 - 17:56 Uhr

Hallo Gü,

dank Dir. Das Tool kannte ich noch nicht, kommt aber sofort in meine Lieblingsfavoriten rein 😉

Grüße Stephan

14.09.2009 - 17:49 Uhr

Hi zusammen,

ich stehe gerade auf dem schlauch mit folgenden VB Code. Kann mir den jemand bitte mal in C# Code übersetzen?

Leider ist VB Code für mich noch etwas kryptisch.


Public Sub Init(ByVal context As System.Web.HttpApplication) Implements System.Web.IHttpModules.Init
    AddHandler context.BeginRequest, AddressOf OnBeginRequest
    AddHandler context.EndRequest, AddressOf OnEndRequest
End Sub

Dankende Grüße
Stephan

13.09.2009 - 17:00 Uhr

Tach zusammen,

eine kenne ich auch, welche definitiv in .NET geschrieben ist.

Die EIBA Tool Software. Ist eine Branchen Spezifische Software für den EIB Bus zur Programmierung dieser.

Grüße Stephan

11.09.2009 - 20:53 Uhr

Nabend.

schaue Dir mal das Observer-Pattern an, das sollte Dich schon ein Stück weiter bringen. Um auf den Vergleich mit dem Messenger zu kommen. Der ist nicht mal so dumm, aber man muss auch immer bedenken, das eine Anwendung dafür auch im SystemTray läuft, das dann das Fenster aufpoppen lässt.

Daher ist der Vorschlag von t2t sicher gut gewählt. Du solltest das nur noch mit deinem Windows-Dienst und dem Observer-Pattern verfeinern. Wobei aber sicher noch eine Server Komponente nötig ist, an der sich alle Clients anmelden müssen.

Hier im Forum gibt es auch ein paar Beispiele eines Chat Programm. Die würde ich mir auch einmal noch ansehen, denn für mich klingt das fast wie ein Chat System was du realisieren willst.

Grüße Stephan

11.09.2009 - 20:41 Uhr

Nabend,

wie wäre das Beispiel 3 aus der MSDN-Dokumentation zu der Klasse? CreateUserWizard-Klasse

Grüße Stephan

11.09.2009 - 20:36 Uhr

Nabend,

Der Hintergrund ist wenn ich z.B. ein Programm dort online gestellt habe was Setupxxx10.exe heißt und sich die Versionsnummer ändert und die Datei nun Setupxxx20.exe heißt findet die niemand mehr der noch den alten Link hat. Warum nicht einfach Setup.exe "ohne einen Hinweiß auf die Version"?
Im normalfall will man die alte Version sowieso nicht mehr weiter verbreiten, daher kann die Version darin auch weg bleiben, aber der Link wird immer funktionieren.

Grüße Stephan

02.09.2009 - 23:21 Uhr

Hallo Obli,

kennst Du das Tutorial TCP/IP Socket Programmierung in C# schon?
Wenn nicht, würde ich Dir empfehlen das mal zu lesen.
Ich denke dann wird Dir einiges klarer werden, denn ich hab am Anfang auch meine Probleme gehabt mit den TCP zeug 😉

Stichwort noch dazu: AsyncCallback aufrufe.

Grüße Stephan

02.09.2009 - 22:38 Uhr

bzw find mal so beispielsweise im normalen zug ne steckdose fürn router

Das ist doch mal eine geringfügige andere Situation als die obig beschriebene.
Aber auch das geht. Man kann eine Internet Verbindung auch freigeben und dann mit 2 Rechnern verwenden.

Unter "Eigenschaften von LAN-Verbindung" kann man Freigabe -> Gemeinsame Nutzung der Internetverbindung ( Anderen Benutzern im Netzwerk gestatten, diese Verbindung des Computer als Internetverbindung zu verwenden. ) aktivieren.

Damit sollte die 2. Situation auch geklärt sein, und ob man einen Proxy braucht auch 😉

Und die obige Lösung mit dem Router ist und bleibt auch immer noch die beste Lösung um ein gemeinsame Internetverbindung in einem Raum zu realisieren 🙂

Grüße Stephan

02.09.2009 - 01:06 Uhr

Ich persönlich halte die Software Lösung nur für eine Notlösung 😉

Billige Router findet man schon unter 20€. Was will man denn noch mehr 😉

02.09.2009 - 00:46 Uhr

Wenn Du unter Hilfe -> Info mal in dem Kasten "Installierte Produkte" rein schaust, dann sollte Dir, wenn SP1 installiert ist, folgendes auffallen:

Microsoft Visual Studio 2008 Professional Edition - DEU Service Pack 1 (KB945140) KB945140

02.09.2009 - 00:36 Uhr

Hallo YamiSparrow,

Einmal haben wir nur eine einzige IP in einem Netzwerk beim Stammtisch, welche ins Internet kommt.

Das reicht doch aus. Daran einen billigen Router angeschlossen und an den dann die ganzen Host Clients, die gleichzeitig ins Internet wollen.
In den Router muss die IP, mit welcher Ihr ins Internet kommt in die Wan Seite eingetragen sein, und für euer internes Netzwerk vewendet Ihr dann einen eigenen IP-Range ( 192.168.xxx.xxx) .

So habt ihr ein kleines internes Netzwerk und kommt gemeinsam ins Netz rein.

Grüße Stephan

01.09.2009 - 22:54 Uhr

Um auch mal einen Tip an die Profis zu geben 😉

Ja es geht. Das dingens was Ihr sucht nennt sich Snippet und damit kann auch bestehende Funktionen Umschließen 😉

Die zu Umschliesenden Codezeilen markieren und im Context Menü "Umschließen mit " auswählen. Darin kann man dann auswählen welches Snippet man verwenden möchte.

Finde ich eine Coole Funktion, da damit schnell solche anpassungen geschehen können.

Ansonsten ist die obige Variante mit der kürzel eingabe und 2x Tab auch recht schnell beim Coden.

Grüße Stephan

31.08.2009 - 20:52 Uhr

Was sind schon 160km. Bei mir wäre der nächstliegende Standort Böblingen, somit dann schon gleich 260km 😉

Solche veranstaltungen sind bei mir immer mit massiven Kilometern verbunden, da ich am falschen Ende von Deutschland lebe.

Grüße Stephan

30.08.2009 - 21:33 Uhr

Hallo zusammen,

ich wollte mal eure Stimmen zu folgenden Büchern hören, die mich im Bezug auf UML interessieren.

UML 2 Glasklar
UML 2 Projektorientiert

Beide Bücher hören sich besonders lesenswert an. Da ich aber nicht beide auf einmal kaufen kann / will, würde mich interessieren, welches Ihr empfehlt für den Einstieg. Leichte Vorkenntnisse habe ich mir im Internet nun aneignen können ( Use-Case Diagramm). Nur möchte ich das vertiefen, da ich selbst sehe, das man in großen Projekten ohne eine Ordentliche eingangsdokumentation sich sehr schnell verrennen kann und keinen durchblick mehr hat 😉.

Grüße Stephan

23.08.2009 - 17:03 Uhr

Gut, relativieren wir das mal - Würgeschlangen z.B. haben natürlich kein Gift! 🙂 Das will ich doch mal meinen 🙂 Es gibt schon genug schlechte Nachrichten über Reptilien im Internet, als das man dies nicht noch weiter ausbauen muss.

Aber trotzdem, in der Regel töten Schlangen hauptsächlich mit Gift - selbst, wenn es für den Menschen von den toxischen Eigenschaften her völlig ungefährlich ist. Das sind Bienenstiche ja auch, aber auch die können Allergische Schocks auslösen...

Würgeschlangen töten ihre Opfer allein durch erdrosseln.
Giftschlangen töten ihre Opfer durch Toxine. Wobei man nicht verallgemeinern darf. Die Toxine der meisten Giftschlangen sind durchaus nicht zu unterschätzen in ihrer Giftwirkung bei dem Menschen. Man kann dies nicht vergleichen mit Bienenstichen, welche bei Menschen mit Allergien gefährlich werden können.

Grüße Stephan

23.08.2009 - 16:08 Uhr

Hi Michael,

Ich gehe mal davon aus dass es meint dass man von jeder Schlange eine Infektion oder einen allergischen Anfall bekommen kann.
Auch wenn diese eigentlich nicht giftig ist.
Denn Krankheitserreger usw. werden da auch mit übertragen. Das hört sich dann schon wieder etwas besser an 😉 Denn Giftig sind gewiss nicht alle Schlangen. Aber Beissen können sie alle, und die ungiftigen haben durchaus Zähne die einem nett verletzen können 😉

Grüße Stephan

23.08.2009 - 15:12 Uhr

Denn Gift hat jede Schlange...

Darf ich mal fragen, wo Du diese erkenntnis her hast?

Grüße Stephan

23.08.2009 - 15:08 Uhr

Hi zusammen,

nur um das Vorurteil, es gäbe keine Giftigen Schlangen in Europa, hier mal einen Link zu einer die durchaus auch in betracht gezogen werden kann 😃

Vipera ammodytes.

Abschnitt Gefährdung und Schutz 😉

Grüße Stephan

16.08.2009 - 15:22 Uhr

Ergänzend noch erwähnt. Du kannst auch einen WebService unter ASP.NET schreiben. Setzt aber vorraus, das du einen Windows WebSpace hast.

Wie genau das mit dem WebService geht und was der WebSpace dafür genau braucht kann ich Dir im moment auch nicht sagen.

Grüße Stephan

16.08.2009 - 15:18 Uhr

Das einzige wirkliche Problem, dass ich an der Lösung sehe, ist das Überschneiden von Bearbeitungen an der Datei.

Das wird in der Tat zum scheitern kommen mit der Idee. Den Grund nennst Du ja selbst schon.

Und wegen PHP. PHP ist dem C# nicht so unähnlich und ist recht einfach zu erlernen.

16.08.2009 - 15:10 Uhr

Bei einem Webspace mit einer MySQL Datenbank, kannst du auch einen "Art" Observer in PHP schreiben, an dem die Clients die nötigen Daten abrufen und einliefern können.
Ist dann zwar eine etwas abgewandelte Technik von dem WCF Dienst, aber sollte recht einfach gehen.

Im grunde brauchste dafür nur 2 PHP Dateien:

  1. Anmelden / Abmelden
  2. Client Infos beziehen ( XML )

Grüße Stephan

16.08.2009 - 15:03 Uhr

Hallo bonzy,

du musst im Internet einen Vermittlungs Server betreiben, der alle Clients verwalten kann.

Dazu kannst Du zB einen WCF-Dienst nutzen. An dem Dienst muss sich dann der Client anmelden und seine IP-Adresse und was du sonst noch brauchst hinterlegen.
Wenn dann ein anderer Client einsteigen möchte, kann der dann eine Anfrage starten an den Dienst, welche Clients sich da aktuell angemeldet haben und sich davon dann die IP Adresse beziehen und mit dem anderen Client direkt verbinden.

Das ist jetzt nur mal eine Großangerissene Idee gewesen, denn feinheiten wie prüfen ob ein Client noch die Verbindung hält usw sollten noch dazu kommen.

Edit: Schau dir auch dazu mal das Observer-Pattern an. Damit kann der Server automatisch dann alle Clients mit den neuen Daten der neuen Spieler versorgen.

Grüße Stephan

14.08.2009 - 16:57 Uhr

Hi pdelvo,

ich hab mich für die Sockets entschieden, da ich dazu ein paar gute Beispiele gefunden habe.
Damit konnte ich schon mal die Verbindung bekommen und das quasseln mit dem Server funktioniert, denn er liefert mir Antworten 😃

@all:
Nun habe ich eine Frage, rein Architektur Technisch.
Wie sollte ich meine Klasse aufbauen, wenn man in der annahme ist, das eine Abfrage mal länger gehen kann, aber die Anwendung nebenher weiter über die Verbindung Kommandos an den Server schickt.
In meiner Klasse verwende ich die AsyncCallback Methode um auf die Antworten vom Server zu reagieren.

private void OnReceivedData(IAsyncResult ar)
        {
            Socket sock = (Socket)ar.AsyncState;
            int nBytesRec = sock.EndReceive(ar);
            if (nBytesRec > 0)
            {
                string sRecieved = Encoding.ASCII.GetString(m_byBuff, 0, nBytesRec);
                DebugMessage(sRecieved);
            }
}

Wenn ich in dieser Methode ein Event Feuer, das die Gui dazu veranlassen soll, die Daten zu lesen, kann es doch gut passieren, das die Daten durch einen erneuten Callback überschrieben wurden.

Meine Idee war nun, das ich die Results in eine Queue schreibe, und daraus dann wieder nach und nach auslesen kann.

Rein in der weiteren annahme, die Gui würde die Events verschlucken, kann es aber doch dann auch passieren, das die Daten in der Queue stecken bleiben. Wie kann ich das umgehen?

Für ein paar Technische Hintergrund Infos und ein paar Gedanken, wie Ihr das machen würdet, würde ich mich freuen, da ich mit den Sockets erst angefangen habe.

Grüße Stephan

14.08.2009 - 15:52 Uhr

Hallo dN!3L,

Dann hätte man auch gleich <img align="left" src=... /> nehmen können...

Das würde so aber nicht hinhauen, da dann der Text nicht herum fließen wird 😉

14.08.2009 - 15:28 Uhr

Du kannst den Code auch noch weiter einkürzen. Hintergrund ist, das man je mehr Div man verbaut, sich das lesen nicht unbedingt verbessert und es auch nicht nötig ist, jedes Element in einem eigenen Div zu stecken.

<html>
    <head>
        <title>Testseite</title>
    </head>
    <body>
        <div>
            <img style="float:left;" src="http://www.mycsharp.de/wbb2/images/header/header_logo_3.gif"/>
            Lorem ipsum dolor sit amet, consectetuer sadipscing elitr, ...
        </div>
    </body>
</html> 

Dem Image Tag kannst du auch eine Class mit geben, das du verschiedene Werte bereit stellen kannst.

Grüße Stephan

09.08.2009 - 19:59 Uhr

Hallo zusammen,

bedingt dadurch, das ich wohl kein IMAP Backup Programm finden werde, welches meinen Anforderungen entspricht, habe ich mich mal ein bisschen über das IMAP Protokoll schlau gemacht.

IMAP selber ist ja nicht mal so schwer, da es eine String basierende Kommunikation hat.

Wo ich gerade am rudern bin, bei der Frage, soll ich Sockets oder den TcpClient verwenden.
Und auch noch eine grundlegende Verständnis Frage. Soll man die Verbindung zum Server prinzipiell aufrecht erhalten, oder bei jeder Anfrage an den Server einen neuen Connect machen.

Zweiteres finde ich etwas unlogisch, da man dann ja jedesmal einen Login noch machen muss, und sich dann auch erst an die stelle navigieren, an der man weiter machen will.

Über ein paar erklärende und aufklärende Wort bin ich dankbar.

Grüße Stephan

09.08.2009 - 15:27 Uhr

Hallo Michael,

Bei all diesen Wünschen würde es sich wohl anbieten selbst ein Backup-Programm zu schreiben.
Denn es scheint da wirklich nicht viel brauchbares zu geben. Und schon gar nicht eines das deine Wünsche erfüllt.
Also selbst ist der Mann

Das ist eben das Problem. Es gibt wohl kein Programm, was dies in annähender Weise machen kann, was ich von einem guten Backup verstehe.

Aber selber schreiben, ist auch wieder so eine sache. Bin leider nur ein Hobby Entwickler und habe bei weitem noch nicht so fundiertes Wissen, das ich eine Software schreiben kann, wo ich selbst sagen kann, das diese auch "Sicher" ist.

Grüße Stephan

PS: Eines habe ich mal gefunden. TBBackup. Macht aber nur Backups von Thunderbird, und keine direkten Daten Backups der IMAP Konten.

09.08.2009 - 01:05 Uhr

Macht nichts... sowas kann im eifer des gefechtes mal passieren.

Ich lege nur eben extremen Wert auf die Datensicherheit, da Gewerblicher Email Verkehr über Jahre zu sichern sind.

Grüße Stephan

09.08.2009 - 01:00 Uhr

Sei mir nicht böse, aber ein Programm einzusetzen, was noch nie einen Stable Status erreicht hat und dann noch nicht mal mehr weiter entwickelt wird, kann man wohl schlecht als ein geiegnetes Programm ansehen 😉

Grüße Stephan

PS: Kann immer noch ein gutes teil gebrauchen 😃

09.08.2009 - 00:37 Uhr

Hi Lumbra,

das soll Clientseitig geschehen.

Grüße Stephan