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

17.02.2010 - 00:46 Uhr

Nabend zusammen,

ich möchte/muss mich ein bisschen tiefer in die WCF-Technologie graben, da ich ein Projekt gestartet habe, was einen WCF-Server im Internet benötigt.

Einige kleine Testanwendungen hatte ich schon mal geschrieben, was aber meistens nicht so der Hit war, da nur ein paar Daten hin und her geschickt wurden. Dies wird jetzt aber umfangreicher, wodurch ich ein paar Informationen zusätzlich suche.
1.Wenn ich an einem Endpoint eine Klasse bereit stelle, ist diese dann eine Singleton Klasse? Oder wird von jedem Client dann eine eigene Instanz am WCF-Server erzeugt? 1.Machen Singleton Klassen unter WCF irgendwelche Probleme. Unter ASP.NET sind Singleton ja bekannt für die schönsten Bug suchspiele. 1.Ist ein IoC hinter dem WCF Contract eine gute Wahl, wenn man Singleton Instanzen verwalten möchte? Oder schadet das der Performance dann schon wieder extrem? Ich frage deshalb, weil ich eine Singleton Klasse für die Benutzerverwaltung dahinter schalten möchte, bei dem sich die Clients anmelden müssen und dann ein Token mit durch reichen sollen bei den Anfragen. 1.Für die Benutzerverwaltung bräuchte ich noch einen Tip, wie man das am besten umsetzt. Im moment weiß ich soviel, das man einen Credential der ChannelFactory mitgeben muss, von einem Benutzer, der auf dem Server existiert. Ob das die sicherste Lösung ist ( Transport Sicherheit etc ) mag ich mal noch zu bezweifeln.

Das sind jetzt mal so die Fragen, die mir eben durch den Kopf gegangen sind. Im moment bin ich noch am überlegen, wie ich den Server genau aufbauen soll. Gibt es da ein Pattern, was da am besten rein passt in die Thematik?

Abschließend noch ein Punkt. Im Server Backend soll noch eine Datenbank rein, die diverse Daten halten soll, aber der Server wird keine reine Datenbank Anwendung werden.

Grüße Stephan

15.02.2010 - 20:03 Uhr

Hallo Michael,

ich würde Dir AllSync empfehlen. Das kann 2 Rechner Syncron halten und noch viel mehr.
Es ist zwar nicht umsonst, aber zahlbar.

Grüße Stephan

15.02.2010 - 19:44 Uhr

"hole punching" hört sich für mich eher so an als würde man Firewall/Router mit ausgehenden Paketen davon überzeugen dass demnächst auch was reinkommen kann, allerdings von der realen Gegenstelle, also ohne Server dazwischen.

Eine reale Gegenstelle "Wie bei einem Chat Partner" wird das nicht werden.
Das ist Grundlegend nur ein Server im Internet, der durch den Client angesprochen wird. Der Server im Internet stellt da dann die Gegenstelle bereit, und es ist sogar gewünscht, das alles über den Server laufen soll, denn da lässt sich der ganze Verkehr mit loggen.

Der Tip und Link mit dem "hole punching" hat mich nur auf den richtigen Weg gebracht 😉 Hatte da irgendwie einen Knoten im Hirn und dadurch falsch gedacht 😃

Grüße Stephan

15.02.2010 - 17:54 Uhr

Hallo zusammen,

die Infos sind schon mal nicht schlecht. UDP Hole punching damit kann ich wohl was anfangen.
Werde mich dahingehend weiter Informieren und ggf nochmal nachfragen, wenn weitere fragen enstanden sind.

Danke zusammen.

Grüße Stephan

14.02.2010 - 19:08 Uhr

Der Messenger wird wahrscheinlich Client spielen und sich zu einem anderen Server verbinden. Von daher hat der kein Problem mit Forwarding.
Mit einem WCF-Server wird dir nichts anderes übrig bleiben als einen Port zu forwarden.

Um das Thema noch konkreter zu beschreiben. ICh möchte einen WCF Server im Internet betreiben und einen Client, der bei mir hier auf dem Rechner läuft.
Nur soll der Server meinen Client informieren, wenn neue Daten anliegen usw...
Eben wie beim Windows Live Messenger, wenn eine neue Nachricht an den Chatpartner gesendet wird.

Grüße Stephan

13.02.2010 - 23:07 Uhr

Nabend zusammen,

ich suche gerade nach einer Möglichkeit, einen WCF Client aus dem WCF Server im Internet ( CallBack / DualBinding ) ansprechen zu können.

Irgdendwie muss das ja gehen, denn der Windows Live Messenger nutzt meines wissens nach ja auch WCF für den austausch der Nachrichten.

Bin unter WCF noch nicht ganz so wissend, aber rein mit der IP Adresse kommt man ja nicht drauf, da dann im Router ja ein Forwarding drinne sein müsste.
Das muss aber der Live Messenger auch nicht. Also muss es da einen anderen Weg geben.

Grüße Stephan

10.02.2010 - 22:18 Uhr

Das Ziel, das der Entwicklung von XML die Richtung gibt, ist jedenfalls eine Identifizierung der Komponenten, aus denen eine Datensammlung oder ein Dokument besteht, mit Hilfe von bedeutungsvollen - also semantischen - Namen, die ein Computersystem zwar nicht wie ein Mensch versteht, die dem Programm aber erlauben, sich so zu verhalten.

10.02.2010 - 22:08 Uhr

Hallo zusammen,

ich hab das ja jetzt mit dem Beispiel von Talla gelöst. Das funktioniert auch wunderbar und ich kann auch Werte aus der Collection überschreiben, wenn ich die in einer TextBox anzeigen lasse (Binding Mode=TwoWay).

Nun hab ich da aber noch eine Frage. In folgender Zeile wird ja die Klasse People im XAML instanziert:

<local:People x:Key="MyFriends"/>
  public class Person : INotifyPropertyChanged
  {
      private string firstname;
      private string lastname;
      private string hometown;

      public event PropertyChangedEventHandler PropertyChanged;

      public Person()
      {
      }

      public Person(string first, string last, string town)
      {
          this.firstname = first;
          this.lastname = last;
          this.hometown = town;
      }
      public override string ToString()
      {
          return firstname.ToString();
      }
      public string FirstName
      {
          get { return firstname; }
          set
          {
              firstname = value;
              OnPropertyChanged("FirstName");
          }
      }

      public string LastName
      {
          get { return lastname; }
          set
          {
              lastname = value;
              OnPropertyChanged("LastName");
          }
      }

      public string HomeTown
      {
          get { return hometown; }
          set
          {
              hometown = value;
              OnPropertyChanged("HomeTown");
          }
      }

      protected void OnPropertyChanged(string info)
      {
          PropertyChangedEventHandler handler = PropertyChanged;
          if (handler != null)
          {
              handler(this, new PropertyChangedEventArgs(info));
          }
      }
  }
    public class People : ObservableCollection<Person>
    {
        public People(): base()
        {
            Add(new Person("Michael", "Alexander", "Bellevue"));
            Add(new Person("Jeff", "Hay", "Redmond"));
            Add(new Person("Christina", "Lee", "Kirkland"));
            Add(new Person("Samantha", "Smith", "Seattle"));
        }
    }

Wenn ich nun in meinem Programm auf änderungen an der Collection reagieren will ( speichern der neuen Daten ), dann dachte ich mir, das ich das CollectionChanged Event dafür nutzen kann, was aber scheinbar nicht geht, denn der Debugger springt nicht in den Code.

<local:People CollectionChanged="People_CollectionChanged" x:Key="MyFriends"/>

Wie kann ich da nun in meinem Programm darauf reagieren?

Grüße Stephan

09.02.2010 - 01:28 Uhr

Über weitere Demoprojekte oder Tutorials zur Anwendung von SQLite mit ADO.NET, egal welcher Art, würde ich mich dennoch sehr freuen.

Nutze doch die bestehenden Tutorials im zusammehang mit dem MsSQL Server. Denn das SQLIte unterscheidet sich in den Grundfunktionen nur im Präfix bei den Klassen und Methodennamen.

Außerdem kannst Du ja auch das SQL Compakt von MS nutzen, wenn du eine Embedded DB brauchst.

Grüße Stephan

08.02.2010 - 00:17 Uhr

Hallo talla,

danke für den Link... damit ist meine frage beantwortet worden.

Fazit: Abspecken des Framework und Sicherheitskonzept in der Server Ebene durch reduktion der Unterstützten Services.

Grüße Stephan

08.02.2010 - 00:11 Uhr

Ich hab eben meine Glaskugel ausgepackt und die spuckt mir folgendes aus:

Schätzungsweise überschreibst du bei jeder iteration den bestehenden Wert wieder. Aber wie schon gesagt, ohne ein bisschen Code, kann Dir das keiner genau beantworten... Aber raten, das kann dann jeder.... Somit gebe ich dann die Raterunde an andere weiter.

07.02.2010 - 23:41 Uhr

Hallo bubi123,

ohne den betreffenden Code zu sehen, wird Dir hier keiner großartig helfen können.

Außerdem wäre anstatt einem Array eine List<T> - Klasse besser zu verwenden, da die technik mit den Arrays veraltet ist, und es dann schon wesentlich einfacher ist, über eine List<T> zu iterieren. Beispielsweise mit einer Foreach Schleife Using foreach with Collections.

Grüße Stephan

07.02.2010 - 23:32 Uhr

Nabend zusammen,

ich hab mir das Visual Studio 2010 Beta geladen, um mich bis zum Release schon mal auf die neue IDE einzustimmen 😉

Dabei ist mir bei den Target Framework Einstellungen etwas aufgefallen.
*.NET Framework 3.5 *.NET Framework 3.5 Client Profile *.NET Framework 3.5 Server Core Profile *.NET Framework 4.0 *.NET Framework 4.0 Client Profile

Was hat es mit den "Client Profile" und dem "Server Core Profile" auf sich?
Warum gibt es bei dem .NET Framework 4.0 kein "Server Core Profile" ?

Grüße Stephan

07.02.2010 - 01:46 Uhr

Nabend zusammen,

@talla, das ist genau das was ich gesucht habe. Danke für den Link.

@meisteralex, dein Beispiel verwirrt mich im moment noch etwas mehr als das Beispiel was talla hier gelinkt hat, trotz das dies in Englisch ist. Aber gut, wenn ich das Buch besitze, dann werde ich die passage ja auch antreffen, und "dann" sicher besser verstehen.

Danke Jungs, hier bekommt man halt doch die besten Hilfen 😃

Grüße Stephan

07.02.2010 - 01:32 Uhr

Hallo zusammen,

Mit den Bücher von den typischen Verdächtigen wie Oreilly, Apress, Sams oder Wrox kann man kaum was falsch machen bei den umfangreichen Standardwerken. Wobei Wrox manchmal übertreibt mit dem Umfang: "Professional ASP.NET 3.5 SP1 in C# and VB" - fast 1800 Seiten, das liest kein Mensch.

Ich weiß selbst wie gut die Bücher der Verlage sind. Habe davon auch schon eines im WCF Sektor "Learning WCF", aber gerade da hab ich beim lesen, durch mein "Will es mal so ausdrücken, (4er Noten) Englisch aus der Schule" meine schwierigkeiten, wenn es darum geht flüssig das gelesene zu verstehen.
Und bis auf das obige Buch, hab ich keines in Deutsch gefunden, wo ich meine, das man ein bisschen mehr lernt als nur die untersten Grundlagen von WPF.

Hab das Buch hier liegen, ist im Moment das beste Buch, was es zu WPF gibt. Hab auch zahlreiche andere Bücher schon beschnuppert, es kommt jedoch keins an das von thomas claudius huber ran.
Ich warte schon sehnsüchtig auf sein Silverlight Buch, was leider erst Ende 2010 erscheinen soll 😦

Ich denke ich werde mir dieses Buch kaufen. Wie Du selbst ja schon sagst, es kommt Inhaltlich keines an dieses Werk heran.

@talla,
ja ich weiß selber, das ich Englisch benötige, wenn ich erfolgreich Programmieren und lernen möchte. Aber um es kurz zu fassen, mein letzter Englisch Unterricht ist 20 Jahre her, und ich hatte im schnitt immer 4-5, weil ich damals dummerweise keinen sinn in dem Englisch gesehen hatte. Was ich natürlich mittlerweile extrem bereue, und mir selbst eine an den Kopf klopfen möchte, das ich so dumm war.

Grüße Stephan

07.02.2010 - 00:31 Uhr

Nabend zusammen,

ich bin gerade dabei mich etwas mit WPF und DataBinding in verbindung mit Templates zu beschäftigen.

Da ich aber im moment bei dem ListBox auf eine Wand gefahren bin, und nicht mehr weiß wie ich die weg bekomme, wende ich mich an euch, mit einer wohl in die Grundlagen einzustufende Frage.

Hier erstmal den Code, welchen ich so mal zusammen geklickt habe, um damit Grundlagen zu erlangen:


<Window x:Class="wpwcch.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:local="clr-namespace:wpwcch"
        Title="MainWindow" Height="350" Width="525">
    <Window.Resources>
        <x:Array x:Key="DataArray" Type="{x:Type local:Data}">
            <local:Data Name="Hallo" VorName="Du" />
            <local:Data Name="Noch" VorName="Vorname" />
        </x:Array>
    </Window.Resources>
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="auto" />
            <RowDefinition Height="*" />
            <RowDefinition Height="auto" />
        </Grid.RowDefinitions>
        <Menu Grid.Row="0">
            <MenuItem Header="Datei" />
        </Menu>
        <StatusBar Grid.Row="2">
            <TextBlock>Text Statusbar</TextBlock>
        </StatusBar>
        <ListBox x:Name="lbRes" Grid.Row="1" HorizontalAlignment="Left" Margin="6,6,0,6" ItemsSource="{StaticResource DataArray}">
            <ListBox.ItemTemplate>
                <DataTemplate>
                    <Border BorderBrush="Blue" Margin="3" BorderThickness="2" CornerRadius="5" Background="AliceBlue" Width="120">
                        <StackPanel Orientation="Vertical">
                            <Label Content="{Binding Path=Name}" />
                            <Label Content="{Binding Path=VorName}" />
                        </StackPanel>
                    </Border>
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>
        <TextBox Grid.Row="1" Height="23" Text="{Binding Path=lbRes, ElementName=Name}" Width="150" Margin="143,5,210,240"></TextBox>
    </Grid>
</Window>

Nun noch meine Frage dazu.
Wie stellt man es nun mittels Binding an, an den Wert "Name" des selectierten ListBox Element zu kommen, und das dann in der TextBox anzeigen zu lassen?

Für einen kleinen Hinweiß, oder einen Link, wo mir das erklärt bin ich froh.

Grüße Stephan

PS: Hier mal noch mein Buch Thread, um eine Entscheidung zu treffen, welches Buch ich mir kaufen soll Buchempfehlung für WPF, wenn man nicht mehr ganz unerfahren darin ist

06.02.2010 - 21:36 Uhr

Wobei es selbst da die Frage ist, wie wahrscheinlich so ein Angriff in der Praxis tatsächlich ist. Dass MD5 angreifbar ist, sagt ja nichts darüber aus, wie wahrscheinlich ein Angriff ist. Ich halte es z.B. für relativ unwahrscheinlich, dass mir jemand manipulierte Dateien unterschiebt, damit ich einige eigene Dateien fälschlich als Duplikate erkenne und lösche. 😃 Und um das Finden von Duplikaten ging es ja in diesem Thread hauptsächlich. Also selbst unter Sicherheitsaspekten würde ich MD5 zur Ermittlung von Duplikaten auf der heimischen Festplatte nicht ablehnen.

Und selbst wenn man dies annehmen würde, kann man das Programm dann ja immer noch so schreiben, das es einem nur die dupletten anzeigt, aber nicht sofort selbst löscht. Die entscheidung des löschen würde ich sowieso nur dem anwender überlassen.

06.02.2010 - 21:14 Uhr

dann gibt's noch eine Möglichkeit: Schreibe einfach nen Webservice (PHP oder ASP.NET) und lasse über den die Daten abfragen. An den Webservice kommst immer ran.

Das wird die einzige Möglichkeit sein, um da an DB Daten bei einem Massenhoster zu kommen.
Wenn man einen eigenen Server betreibt ist man darin zwar flexibler, aber man sollte dann auch immer noch den Nutzen / Sicherheits Aspekt abwägen, ob sich das für einen lohnt und sicher genug ist für sensible Daten.

02.02.2010 - 20:54 Uhr

Nabend zusammen,

angeregt durch folgenden Thread Erscheinungsdatum von .NET 4.0 und VS 2010? und diesem Post:

Hallo,

seit heute gibt es ein Gewinnspiel auf Windows Azure. Da kann man ein VS 2010 Professional gewinnen.

Ganz nebenbei steht da auch: "...(verfügbar ab dem 2. Quartal 2010)."

habe ich an dem Gewinnspiel teilgenommen gehabt.

Tja, was soll ich noch groß dazu sagen. Ich bin einer der glücklichen Gewinner und werde ein Visual Studio Professional 2010 von Microsoft bekommen.

Ich bin mehr als nur Happy, denn ich hätte mir die Vollversion sonst teuer ersparen und kaufen müssen, da ich leider keinen Zugang zu Studenten und oder MSDA Downloads habe.

Grüße Stephan

PS: Gibt es noch weitere Gewinner, die sonst auch nicht so einfach an VS2010 gekommen wären.

01.02.2010 - 21:47 Uhr

Hallo zusammen,

wie der Titel schon besagt, suche ich ein Buch zu WPF.
Da ich mir aber schon einiges an Grundlagen zu WPF angeeignet habe, suche ich ein Buch, das mich nicht nur mit den allgemeinen Grundlagen langweilt, welche ich so schon recht gut zu verstehen hoffe.

So Themen wie Binding, Trigger oder CommandBinding sind mir geläufig und ich kann, sagen wir mal so, es umsetzen, mit nachlesen.

Im moment hab ich mir folgendes Buch auserkohren Windows Presentation Foundation: Das umfassende Handbuch: Moderne Benutzeroberflächen programmieren und gestalten .

Die Probekapitel von dem Buch habe ich mir mal angesehen und teile davon gelesen. Mein eindruck ist, das dieses Buch durchaus auch tief in die Materie greift und einem wissen vermittelt.

Hat von euch schon einer dieses Buch gelesen, und kann es empfehlen, oder sollte ich mir dann doch lieber ein anderes aussuchen?

Meine schwierigkeit, die es zu berücksichtigen gibt, das ich Englisch eher schlecht als recht flüssig lesen kann, und viel wichtiger richtig verstehe.

Bin für Ratschläge jederzeit offen, denn im moment zöger ich etwas, für ein Buch so viel Geld auszugeben ( das Geld macht mir nicht weh, wenn das Buch mir einen echten Mehrwert bietet ), wenn ich im nachhinein sagen muss, hätte ich es doch lieber nicht gekauft.

Grüße Stephan

24.01.2010 - 00:19 Uhr

Hallo EFK381,

schau Dir mal diesen Thread an Suche Algorithmus um Temperatur in RGB-Wert umzwandeln (30=BLAU, 90=ROT).
Ich meine fast, das Du auf die selben Probleme stoßen wirst.

Grüße Stephan

19.01.2010 - 00:29 Uhr

Hallo Xqgene,

ich würde eine normale Schreibtischlampe kaufen mit einer 230V Hochvolt GU10 Halogenleuchtmittel Fassung.

Dann kannst Du dir ja mal folgendes Leuchtmittel in LED besorgen und das austesten. Osram LED Lampen.

Anmerkung meinerseits. Ich würde aber mit LED im Wohnbereich noch etwas warten, da das Licht der LED Leuchten nicht immer als angenehm empfunden wird.
Wenn dann solltest Du das wirklich austesten, wobei du das nicht in einem Geschäft machen solltest, sondern wirklich bei dir zuhause, da die Lichtverhältnisse in einem Laden meistens anders sind als bei Dir, und dadurch das Farbspektrum durch die Leuchten im Geschäft ( meistens sogar spezielle Lichtfaben ) sehr verfälschen.

Grüße Stephan

18.01.2010 - 23:47 Uhr

Hallo emral86,

die Fehlermeldung sagt Dir doch eindeutig, was der Grund dafür ist.
Als erstes würde ich mal versuchen, die ClientA.Form1 Klasse mit dem Serializable Attribute zu versehen.
Wenn das nichts hilft, dann auch das andere Attribute mal austesten.

Kann dir aber nicht versprechen, das dies auch die lösung des problem ist.

[Hinweis] Syntaxfehler selbst lösen (Compilerfehlermeldungen)

Grüße Stephan

18.01.2010 - 23:30 Uhr

Kann man da nicht in 2 Sätzen sagen warum das nicht funktioniert, ohne dass ich ein ganzes Tutorial lesen muss?

Gegenfrage. Kann man kein gut gemeintes Tutorial durchlesen, inhalte nachbauen und dabei etwas lernen?

Grüße Stephan

PS: Warum das der Code oben nicht funktioniert und die erklärung darüber überlasse ich den Profis hier im Forum, da ich mich selber sicher nicht als Profi ansehe und auch selber nicht immer sofort einen Fehler sehe.
Aber was solls, wozu gibt es Internet und Foren, das man darin ja fragen kann.
Und genau das hast Du ja gemacht, und ich hab dir mit meinem Wissen und gewissen bestens geholfen, denn selbst den Fehler genau beantworten kann ich NICHT.

18.01.2010 - 21:53 Uhr

Hallo Minz,

ich hab hier mal noch ein gutes kleines Tutorial, was Du dir mal durchlesen solltest.

TCP/IP Socket-Programmierung in C#

Mir hat das damals sehr gut geholfen für den Einstieg.

Grüße Stephan

10.01.2010 - 19:59 Uhr

jetzt weiß ich wieder warum ich auf desktop rechner schwöre....

Aber auch bei den Desktop Rechnern, bestehen die Speichergrenzen weiter 😉

Ich hab jetzt zwar ein modernes Board und kann nicht klagen, aber auch bei mir ist bei 4x 2GB DDR2 Ram schluss.

Grüße Stephan

06.01.2010 - 00:45 Uhr

Hallo,

da die Klasse System.Web.UI.ScriptControl ja auch von System.Web.UI.Control abgeleitet ist, sollte doch ein Cast auf Control reichen, um das in ein TableCell zu stecken.

Nur so eine vermutung, bin da noch nicht ganz so zielsicher in meinen Annahmen und muss das meistens selber erstmal noch testen 😉

Grüße Stephan

06.01.2010 - 00:24 Uhr

Hallo v0id,

schau Dir mal folgende Möglichkeit an: Dienste mittels Programm Code steuern.

Idee was ich dazu hätte, wäre ein kleines Tool zu schreiben, das man als Administrator starten kann, und dann den Dienst damit steuern kann, welche normal im Administrator Scope läuft.

Hab das jetzt zwar nicht getestet, aber das wäre der erste weg, den ich mal versuchen würde.

Das Du direkt im User Scope den Dienst steuern kannst, würde ja das Sicherheitskonzept von Microsoft wieder untergraben.

Grüße Stephan

03.01.2010 - 22:45 Uhr

Hallo kkirchhoff,

schau Dir mal die Funktion GetLastinputInfo Methode an.
Vieleicht hilft Dir das weiter. Das kannst du dann mit einem Timer verbinden, der dann den Benutzer automatisch abmeldet.

Grüße Stephan

02.01.2010 - 02:42 Uhr

Hallo Tomot,

ich nutze beim Entwickeln den im VS integrierten WebServer.
Den Cassini kenne ich noch nicht. Integriert der sich auch in das VS, so das man mit F5 Debuggen kann?

Nun zum Fehler. Der Hinweiß mit dem Mapping hat mich dann auf die richtige fährte gebracht 😉

HttpContext.Current.Server.MapPath("./App_Data/") so bekommt man den richtigen Path zu der Datei zurück.

Danke noch für den netten Hinweiß, aber das mit dem Cassini interessiert mich trotzdem noch 😉

Grüße Stephan

01.01.2010 - 21:20 Uhr

Hallo zusammen,

ich hab im moment ein kleines Problem, das ich nicht weiß wie ich eine XML Datei laden kann, wenn ich eine ASP.NET Anwendung im Debug Modus in dem Visual Studio internen IIS Server starte.

Da bringt er mir immer die Fehlermeldung, das die Datei nicht gefunden werden kann ( ~/App_Data/Content/StartPage.xml ).

System.IO.DirectoryNotFoundException: Ein Teil des Pfades "C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE~\App_Data\Content\StartPage.xml" konnte nicht gefunden werden.

Frage, wie macht Ihr das? Will ja nicht jedesmal erst das ganze Projekt in einen IIS Server laden und mich dann mittels Remote Debugger dran hängen müssen.

Grüße Stephan

28.12.2009 - 18:57 Uhr

Gehe mal mit der Maus über die Klasse von welchem Du wissen möchtest, in welchem Namespace die zu finden ist, dann zeigt dir Visual Studio das in einer Sprechblase an was du suchst 😉

Grüße Stephan

28.12.2009 - 18:49 Uhr

Wie wären die Karten von Google Map?

Habe da eben rein gesehen, und die sind mit Höhenlinien 🙂

27.12.2009 - 18:35 Uhr

Hallo torkel,

du kannst ja auch deine eigene IsInRole Methode implementieren, die gegen deine Datenbank prüft.

In der Datenbank musst du dann nur die Roles hinterlegen und die jeweiligen Nutzer der Role zufügen.

Grüße Stephan

22.12.2009 - 21:13 Uhr

Schließe mich Golo an. Umbraco finde ich mit unter das gelungenste CMS was ich bis jetzt gesehen habe.
Was dem auch zu gute kommt, das es kostenlos ist.

Grüße
Stephan

21.12.2009 - 20:12 Uhr

Hallo EnterTheMatrix,

ich habe gestern abend in sagen wir mal so 4-5 Stunden eine komplette Gui mit 4 Windows.Forms Oberfflächen Designed und mit Properties verdrahtet. Ach und nebenher hatte ich sogar noch Zeit, ein wenig technische Logik und Funktion einzubauen.

Also sehe ich da keinen Anlass, das man dies auch irgendwie anders lösen sollte.
Wenn man das Konzept des Programmierens mal versteht, und damit meine ich nicht, das man mal was Klicki-Bunti zusammen klicken kann, dann schreibt man solchen Code ohne nachzudenken, ob es auch irgendwie einfacher geht.

Und ja... Es geht einfacher...
Stichwort Code-Snippets 😃

Grüße Stephan

19.12.2009 - 20:38 Uhr

Um den ganzen dann auch noch einen Namen zu geben, das man danach auch suchen kann 🙂

Das nennt sich eine Escape-Sequenz 🙂

Grüße Stephan

18.12.2009 - 02:41 Uhr

Hallo Superman8000,

ich gehe mal stark davon aus, das Du mit "Starten" im Visual Web Developer die F5-Taste oder Debuggen-> Debuggen starten meinst.

Dabei startet dann ein interner WebServer, der nur dazu gedacht ist, das man im Visual Web Developer die Seite anzeigen kann ( localhost ).

Wenn Du die Seite im Netzwerk veröffentlichen willst, dann musst Du auf deinem oder einem anderen Rechner in deinem Netzwerk einen Windows IIS Server installieren und dort deine Anwendung installieren.

Schau Dir dazu auch am besten mal den Windows Web Plattform Installer an. Damit lässt sich der IIS sehr konfortabel installieren.

Grüße Stephan

17.12.2009 - 00:47 Uhr

Ergänzend noch das Tool von herbivore On-the-fly Regex-Tester

17.12.2009 - 00:23 Uhr

Hallo multitasker,

Du musst eine Basis Klasse erstellen wie folgend:


    public class BaseForm : Form
    {
        public BaseForm()
        {
            BackColor = Color.Red;            
        }

        protected override void OnLoad(EventArgs e)
        {
            Text = "New Titel!";
            base.OnLoad(e);
        }

        public override System.Drawing.Color BackColor
        {
            get
            {
                return base.BackColor;
            }
            set
            {
                base.BackColor = value;
            }
        }

        public override string Text
        {
            get
            {
                return base.Text;
            }
            set
            {
                base.Text = value;
            }
        }
    }

und dann in der Form1 und weiteren folgend einbinden:


public partial class Form1 : BaseForm

Dann kannst Du alles, was in allen Forms gleich sein soll, in der Basisklasse überschreiben und für alle gleich einstellen.

Ich hab Dir mal das Demo Projekt angehängt.

Grüße Stephan

16.12.2009 - 23:37 Uhr

Hallo Jedda2209,

du kannst bei dem Setup unter Projekt->Eigenschaften ( Setup-Eigenschaften)-> Erforderliche Komponenten mal versuchen das Häckchen bei .NET Framework 3.5 zu entfernen. Dann denke ich mal, sollte das Setup auch keine Nachinstallation machen wollen, von dem Framework. Zumindest habe ich das mal so verstanden.

Grüße Stephan

16.12.2009 - 23:21 Uhr

Hallo Hendrik,

ich hab mal auf meinem Server Mono unter Debian Etch installiert.

/usr/lib/mono/gac scheint in dem fall der richtige Ort zu sein. Kann es sein, das du den GAC von Hand installiert hast? Das würde dann auch erklären, warum das unter /usr/local zu finden ist.

Auf jedenfall kannst Du das auch in der /etc/mono-server/mono-server-hosts.conf umbiegen. Dort scheint mir der beste Ort das zu machen 😃

Grüße Stephan

16.12.2009 - 22:20 Uhr

Hallo Hendrick,

hab zwar noch nie selber versucht Mono unter Linux zu installieren, aber als erste Lösung würde mir ein Symlink einfallen 😃

Biege den /usr/lib/mono/gac auf /usr/local/lib/mono/gac um.

Interessant wäre auch die verwendete Distribution 😉

Grüße Stephan

16.12.2009 - 21:52 Uhr

Hallo herbivore,

danke erstmal für die ausführungen. Die sind immer sehr Hilfreich, um sich die sachen genauer anzusehen, und wo man genau hin schauen muss.

Konkret sieht die LASTINPUTINFO Strucktur folgend aus:


[StructLayout(LayoutKind.Sequential)]
    struct LASTINPUTINFO
    {
        public static readonly int SizeOf = Marshal.SizeOf(typeof(LASTINPUTINFO));

        [MarshalAs(UnmanagedType.U4)]
        public int cbSize;
        [MarshalAs(UnmanagedType.U4)]
        public UInt32 dwTime;
    }

Wenn ich deinen Ausführungen, und meinem Nachlesen ( Buch / MSDN / Internet ) und meinem Kopf mit der Grippe im Gepäck, richtig folgen kann, dann ist im konkreten Fall kein IDisposable nötig, da die Struktur ja insich selbst verwalteteter Code darstellt ( int / UInt32 ).
Das einzige was ich im obigen Code dann noch nicht ganz zuordnen kann, ist das MarshalAs-Attribut. Vorallem nicht, ob dadurch der Managed-Code unterbrochen wird. Wenn ich das MarshalAs-Attribute richtig verstehe, dann zeigt es nur an, wie der Managed-Typ im Unmanaged-Typ umgesetzt werden soll.

Grüße Stephan

PS: Leider merke ich immer wieder, das ich eben NICHT Informatik studiert habe, und einem so wissen dadurch kaum alleine in Büchern vermittelt wird.

16.12.2009 - 19:27 Uhr

Hallo Mille25,

schau Dir doch mal das Galileo OpenBook an 🛈 .

Das kostet im ersten Moment mal nichts, und wenn Du das immer noch als Gedruckte Variante haben willst ( was ich eigentlich besser zum lernen finde ) dann kannste das immer noch zusammen sparen und kaufen.

Ansonsten gilt. Je mehr unterschiedliche Literatur man ließt, desto mehr kann man dazu lernen. Denn nicht immer ist alles in einem Buch immer richtig gut beschrieben, aber dafür in anderen wieder besser.
Die Summe aller Bücher macht es aus.

Grüße Stephan

14.12.2009 - 01:25 Uhr

Hallo zusammen,

ich habe mir eine Klasse erstellt, in der ich die Win-API Methoden kapsel. Soweit ist das ja sicher konform mit gutem Code Design.
Nur stellt sich mir gerade wieder die Entscheidende Frage. Muss man dann in der Klasse IDisposable Implementieren?
Denn es heißt ja immer, das man unmanaged Code Disposen soll / muss.
Aber trifft das auch zu, wenn man in der Wrapper Klasse hauptsächlich Win-API Metthoden verwendet, die zB keinen Festplatten Zugriff machen?

Als Beispiel folgende 2 Win-API Methoden:

        [DllImport("user32.dll")]
        static extern bool GetLastInputInfo(ref LASTINPUTINFO plii);

        [DllImport("kernel32.dll")]
        static extern uint GetTickCount();

Im moment sehe ich darin keine Resource, die man explizit wieder schließen müsste.

Grüße Stephan

13.12.2009 - 23:33 Uhr

Und noch das 2. Bild

13.12.2009 - 23:31 Uhr

Und noch 2 Bilder:

13.12.2009 - 23:30 Uhr

Hallo zusammen,

ich möchte hiermit euch mal ein kleines Tool von mir vorstellen, was ich soeben in der V1.0a fertig gestellt habe.

Beschreibung:
Bei dem AutoLogoff Manager handelt es sich um ein Tool, welches sich ins Tray einbindet, und eine durch den Benutzer Einstellbare Aktion ausführt.

Folgende Funktionen sind derzeit implementiert:*Herunterfahren *Reboot *Abmelden *Sperren

Die Listenpunkte Herunterfahren / Reboot / Abmelden lassen sich mit der CheckBox "Erzwingen".
Achtung: Ein Erzwingen der Aktion kann zu Datenverlusten führen, wenn Dokumente usw noch nicht gespeichert wurden!
Über den Timer kann man Einstellen, nach welcher Zeit der Inaktivität die Aktion ausgelöst werden soll.

Als Inaktivität gilt in dem falle, wenn der Benutzer keine Interaktion mehr mit Windows betreibt ( Tastatur und Maus eingaben ) und dadurch wird dann der Timer aktiv. Sobald der Benutzer die Interaktion fortsetzt, wird der Timer auf 0 gestellt, und fängt bei einer neuen Inaktivität von vorne an.

Angedachte Implementierungen
Der AutoLogoff Manager soll in einer späteren Version noch einen Windows Dienst bekommen, der dann Zeitgesteuert ( Datum und Uhrzeit ) eine Aktion ausführen können soll. Hintergrund dafür ist, das man in aller Regel einen Windows WebServer nach einem Update auch mal neu starten lassen muss. Dies soll dann durch den Manager geschehen, der den Neustart dann in die Nacht verlegen kann, in der kaum bis keine Benutzer auf dem Server sein sollten.

Getestete Betriebssysteme:
Windows Vista Business 64bit

Haftungsausschluss
Der Author übernimmt keinerlei Haftung bei Datenverlust, durch den Einsatz des AutoLogoff Manager.

Über ein paar Tester, würde ich mich sehr freuen, und hoffe das euch das Tool gefällt und Ihr das auch gebrauchen könnt.

Grüße Stephan

13.12.2009 - 20:38 Uhr

Hallo JasonDelife,

danke für den Link. Das hat mich zu meinem Fehler gebracht 😉 Und nachdem ich die Klasse mir durchgesehen habe, dann sind mir darin sehr viele parallelen begnet zu meinem Klassen Aufbau 😉

Auf jedenfall funktioniert mein Code einwandfrei, wenn man einen kleinen schreibfehler behebt 😉 Ein "&" != UND.
Stattdessen muss das folgend geschrieben sein:

ExitWindows.LogOff | ExitWindows.Force

dann klappt das auch mit dem Nachbarn 🙂

Grüße Stephan