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

29.04.2012 - 20:57 Uhr

Mein Tip, bevor Du über das selbst erstellen eines Control in WPF nachdenkst, solltest Du zumindest einmal ein WPF Buch gelesen haben.

Bei WPF ist nichts mehr so, wie man das von WinForms kennt.

23.10.2011 - 03:21 Uhr

Ein ganzer Embedded PC ist vielleicht etwas überpowert um nur ein Aquarium zu überwachen, da lässt sich problemlos auch mit jedem handelsüblichen Mikrocontroller lösen. Im Hobby Bereich sind die Atmel/Pics sehr beliebt, die Programmierung ist dann natürlich in C.

Nur der richtigkeit halber. Es kann auch in Assembler programmiert werden.

31.08.2011 - 01:15 Uhr

Hallo zusammen,

nun habe ich doch mal wieder eine kleine Frage.

Ich habe eine List<DataClass> mit ca. 100.000 Einträgen. In der Class ist jeweils ein DateTime enthalten.

Nun möchte ich aus der Liste die Klassen rausfiltern, in denen das DateTime in einem bestimmten Zeitraum sind (zB: alles von 11:00 Uhr bis 12:00 Uhr).

Gibt es da eine elegante Lösung dafür? Oder muss ich das über DateTime.Compare lösen?

Grüße
Stephan

02.08.2011 - 21:09 Uhr

Der Browser meldet das schließen einer Webseite nicht ohne weiteres an den Server.

Vielleicht kannst du die Verbindung schließen, nachdem du sie benutzt hast?

Nicht Vieleicht, sondern genau so muss das gemacht werden.
ASP.NET (HTTP-Protokoll), ist ein Statusloses Protokoll. Das bedeutet, das ein Browser sich nie am Server abmeldet. Der Browser schickt nur eine Anfrage an den Server "Möchte Seite X sehen" und der Server schickt dann die Seite zurück.

Baue die Verbindung zur Datenbank so spät wie benötigt auf, und beende die Verbindung so schnell als möglich. Packe am besten den Code zur Abfrage in ein Using. Dann kümmert sich die CLR um den nötigen Close Befehl.

Grüße
Stephan

24.07.2011 - 17:59 Uhr

Nabend zusammen,

sehr schöne Diskussion was hier entstanden ist.
Einige aspekte werde ich mit nehmen aus der Diskussion.

Danke noch an alle. Dieser Beitrag wird sicher noch anderen weiter helfen, bei dem doch umfangreichen Thema.

Grüße
Stephan

24.07.2011 - 00:36 Uhr

Hallo herbivore,

Ja das weiß ich. Das steht so in der Art auch im Buch mit drinne.
Nur versuche mal einen Anwender zu sagen, der gerade mal so versteht wie ein PC funktioniert, das er dir einen Fehler aus dem Ereignisprotokoll heraus suchen soll.
Da ist es einfacher dem den Weg zu einer Datei zu sagen, die er mit rechtsklick auf die Maus in das Mailprogramm und in eine Mail bekommt 😃

Grüße
Stephan

24.07.2011 - 00:03 Uhr

Hallo Gü,

warum gibts du dem TraceListener einen Stream und nicht den Dateinamen?

Hmm... ich meine, weil im Buch vom Kühnel das so drinne steht 😃 Aber gut, ich werde das mal so testen 😉

Ab Vista kann das Trace in Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) + "MeineFirma/MeinService/Logs" geschrieben werden (natürlich mit Path.Combine zusammengebaut).

Das dachte ich mir schon fast, das unter CommonApplicationData der beste Ort zu sein scheint. Wollte da nur mal noch die Meinung im Forum hören, wie das andere handhaben.

Aus Windows-Sicht ist das Verzeichnis schon korrekt, nur es ist halt nicht jenes was du dir erwartest 😉

Da ich noch wenig mit den Services gemacht habe, war ich dann anfangs schon verwundert, warum der mir die Log nicht so schreibt wie ich das erwartet habe 😃
Aber Du hast schon recht. Aus Sicht von Windows ist das alles korrekt, nur ist man im ersten moment dann erstmal geschockt, warum der Service auf einmal anders reagiert wie man den in der Console noch getestet hat 😃

Also dann packe ich meine Log mal in CommonApplicationData.

Grüße
Stephan

23.07.2011 - 23:16 Uhr

Hallo zusammen,

ich habe mir einen Windows Dienst geschrieben, der mir im Hintergrund viel Arbeit erledigen muss. Da dabei aber auch gerne mal Fehler entstehen können, muss das ja irgendwie in eine Log Datei geschrieben sein.

Dazu habe ich mir einen TraceListener geschrieben, der mir dann eine Log Datei schreiben soll. Die Log Datei soll im selben Verzeichnis sein, wie die Exe des Dienstes. So kann man die Datei am schnellsten lokalieren und drinne nachsehen, was denn da schief geht.

Nun zu meiner Frage. Wenn ich dem Tracelistener einen FileStream zu der Datei mitgebe, die im selben Verzeichnis wie die Exe geschrieben werden soll, funktioniert das solange gut, wie ich die Exe des Dienstes von Hand starte ( klar die Exe terminiert, da der Service nicht installiert ist, aber die Log wird erstellt ).

Wenn ich den Dienst aber dann registriere, wird mir die Log in einem total falschen Verzeichnis geschrieben: C:\Windows\sysWOW64\Log.log

Da ist die Datei natürlich kaum noch auffindbar.

Nun zu meiner Frage. Wo ist es am besten die Log für einen Windows Dienst zu schreiben. Okay, man könnte das Ereignisprotokoll dazu verwenden. Aber ich möchte auch die möglichkeit haben, das ich einem Anwender dann sagen kann, gehe mit dem Explorer in Verzeichnis X und schicke mir die Logdatei per Mail zu.

Wie macht Ihr das?

Grüße
Stephan

18.07.2011 - 21:26 Uhr

Dann wünsche ich "Abt" viel Erfolg mit seinem neuen Posten hier in der Community.

Er wird Peter Bucher würdevoll vertreten können. Schade, das Peter nicht mehr die Zeit aufbringen kann, sich hier aktiver zu beteiligen. Seine Ausführungen waren immer recht aufschlussreich.

Grüße
Stephan

10.07.2011 - 23:44 Uhr

Hallo Abt,

danke erstmal für die Hilfe.

Besser wäre
/Hersteller - Zeigt eine Liste aller Hersteller (Index Action im HerstellerController)

/Hersteller/{Name}.html - Zeigt die Details eines Herstellers (Details Action mit name Parameter im HerstellerController)

/Hersteller/{Name}/Produkte.html = Alle Produkte

/Hersteller/{Name}/{ProduktName}
/Kategorien - Zeigt eine Liste aller Kategorien

/Kategorie/{Name}.html - Zeigt die passenden Inhalte

/Kategorie/{Name}/Seite{Nummer}.html - Mit der Nummer kannst Du nun ein Paging aufbauen
Diese "Brötkrümel"-Variante ist absolut einfach in den Routes nachzubilden und fehlerfrei zu behandeln und entspricht dem SEO Gedanken, den Du wohl suchst.

Wie stehst Du mit der Aussage zu den "Brotkrümel" und den davor geschalteten festen begriffen Hersteller/Kategorie zu der aussage, dass je tiefer die Ordnerstrucktur einer Seite ist, sich der PageRank dadurch verringert?
Okay, der PageRank ist nicht das Maß an dem man sich messen soll, aber ich habe schon bemerkt, das Artikel welche nicht so tief verschachtelt werden, auch besser gefunden werden.

Ansonsten scheint mir das genau die Default-Route das schon so macht.
Ich sehe schon. ASP.NET MVC 3 hat sicher nicht den anspruch, das es einfacher ist als WebForms 😃 Es ist wohl genauso anspruchsvoll, nur auf eine anderen Art und an manchen stellen eben einfacher. Da muss dann wohl oder übel mal noch ein Buch ins Regal kommen 😃

Den "Breadcrumbs-Gedanken von Google" habe ich mir mal durchgelesen.
Ich muss mir da einfach nochmal gedanken drüber machen, wie ich das realisieren möchte. Eventuell auch mal einen Test fahren, was besser kommt.

Grüße
Stephan

10.07.2011 - 23:02 Uhr

Hallo zusammen,

das Routing aus der Vorlage in Visual Studio ist ja nicht besonders SEO Optimal. Es ist zwar bedeutend besser, als wenn man Url hat, die mit ?id=123 enden, aber eben noch nicht perfekt.

Nun suche ich gerade den Weg, wie ich Url in den nach folgenden beispielen hinbekommen kann:

http://www.domain.de/HerstellerName1/HerstellerProdukt1.html
http://www.domain.de/Anita/Anita-Entlastungs-BH-Jana-bis-I-Cup.html
Hier soll auf den "HerstellerController" gemappt werden. Der HerstellerName wird aber erst zur Laufzeit bekannt sein (ca 15 - 20 Hersteller), was dann einen festen Controller pro Hersteller ja nicht möglich macht, und auch nicht besonders geschickt ist.

http://www.domain.de/CategorieName1/Seite1.html
http://www.domain.de/Bademode/Seite1.html
Das soll dann auf den "CategorieController" gemappt werden. Das ganze analog zu den Herstellern, nur das hier mit über 100 Kategorienamen gerechnet werden kann.

http://www.domain.de/impressum.html
Soll dann auf "ContentController" gemappt werden. Wieder analog wie bei den obigen beiden, das erst zur Laufzeit bekannt ist, was da stehen muss.

Hintergrund ist, das obige Url durch die Sumas am besten gelistet werden. Auch sind Url in der form http://www.domain.de/Products/Detail/1 nicht sehr aussagekräftig für den Benutzer.

Leider finde ich da nicht die richtigen Infos, oder ich verstehe zu schlecht, was mir die Seiten da auf Englisch vermitteln wollen. Deshalb würde es mich freuen, wenn mir hier jemand einen Link geben kann, der mich da ein stück weiter bringt, ohne das ich da lange suchen muss, ob das was da steht auch dem entsprechen würde, was ich erreichen möchte.

Ihr wisst ja, mein Englisch ist bescheiden, wodurch es mir manchmal schwer fällt, auf einer Seite schnell genug zu sehen / entscheiden, ob mir das hilft oder nicht.

Danke euch allen schon für die Arbeit.

Grüße
Stephan

04.07.2011 - 14:10 Uhr

Hallo herbivore,

eigentlich muss es nichts OpenSource sein.
Wir können da schon etwas bezahlen.

OpenSource ist manchmal auch nur begrenzt Supportfähig, da aber uns Support auch wichtig ist, darf es auch was kosten 😉
Also wenn jemand noch Vorschläge hat, immer her damit.

Grüsse
stephan

03.07.2011 - 19:48 Uhr

Hallo zusammen,

ich suche eine ASP.NET WebShop Lösung. Die kann auch etwas kosten, solange es noch in einem Bezahlbaren Rahmen bleibt.

Also wenn jemand einen guten Shop kennt, dann immer her damit.

Grüße
Stephan

24.06.2011 - 22:27 Uhr

Hallo,
bin jetzt nicht der WPF Fachmann und hab schon ein bisschen länger nichts mehr mit WPF gemacht.
Wenn ich das noch recht im Kopf habe, musst du dazu 2 VisualState machen ( MouseEnter / MouseLeave ) in denen du dann die beiden Farben angeben kannst.

Grüße
Stephan

23.06.2011 - 21:07 Uhr

Ich würde mich sehr über die gewünschte Vervollständigung des folgenden Codes freuen:

Und Du hast hoffnung, das dir hier jemand die programmierung abnimmt?

TIP: Nimm ein FTP Programm deiner Wahl und ziehe den Ordner incl allem darin auf deinen Rechner, dann ersparste Dir die programmierung ( lernen ).

Grüße
Stephan

PS: Bin normal der letzte der keinen Tip geben würde, aber auf so einen Post gibt es auch bei mir nix.

09.06.2011 - 01:08 Uhr

Hallo Gü,

danke für den Tip. Damit komme ich dann weiter 😃

Grüße
Stephan

09.06.2011 - 00:29 Uhr

Hallo zusammen,

ich bräuchte von Windows ein Signal, wenn der Rechner aus dem Standby oder Ruhezustand reaktiviert wird, das ich in einem Service dann abfangen und benutzen kann.

Im moment suche ich da die bekannte Stecknadel im Heuhaufen und finde nichts.

Danke schonmal für Tips.

Grüße
Stephan

03.06.2011 - 14:41 Uhr

Das ist dann das totesurteil für mich, für das Win8, denn ich habe letztes Jahr einen fast komplett neuen Rechner zusammen gestellt, der mir die nächsten 5 Jahre reichen wird. Aber UEFI kennt das Board nicht.

28.05.2011 - 00:05 Uhr

Noch eine Frage eben nachgeschoben. Ich habe gerade ein Onlintext gelesen. Brauch das Workflowsystem tatsächlich eine Datenbank? Mein Plan war eigendlich, das ganze als reine Application laufen zu lassen und alle benötigte Daten vom Netzwerklaufwerk zu holen. Wenn doch, welche DB wird benötigt?

Nein ein Workflow braucht keine Datenbank. Eine Datenbank wird erst benötigt, wenn man eine StateMaschine bauen möchte, die dann zwischenstände in eine Datenbank persistieren können muss.

Ansonsten ist die WF4 eine reine XAML deklaration, was dann einen direkten schnellen austausch der logik einfach macht.

Zumindest habe ich das bis dato so verstanden. Und WF würde sich durchaus zu deinem problem sehr gut anbieten.

Grüße Stephan

29.04.2011 - 21:15 Uhr

Hallo m0rius, Hallo Abt,

ich hab mir beide Beispiele angesehen, und denke mal den ansatz gefunden.
Ich stürze mich dann mal ins vergnügen und beginne mein Projekt 🙂
Learning by doing. Da findet man dann am schnellsten wissenslücken und probleme, die man noch hat. Ich sag meinen Lehrlingen auch immer, aus Fehler muss man lernen, das man die das nächste mal nicht mehr macht 😉

Bei allfälligen Fragen, weiß ich ja, wo ich gute kompetente Hilfe bekomme 🙂

Danke nochmal, für die tips und hilfe.

Grüße Stephan

28.04.2011 - 23:16 Uhr

Hallo Abt,

ich muss mal noch etwas nachfragen 😃

Für den Zugriff unbedingt Repositories nutzen - unbedingt!
Erstelle für jedes Entity ein eigenes Repository, die wiederum von einem Repository erben, das Standardfunktionen (Add, Delete, Save, Get, GetMany..) bereitstellt. Spezifische Abfragen für ein bestimmtes Entity gehören dann in das EntityRepository.

Hättest Du da eventuell ein gutes Beispiel im Internet auf lager, das Du empfehlen kannst? Da ich noch nicht so richtig Fit im EF bin, suche ich gerade noch den richtigen ansatz, wie ich das Repository generisch umsetzen kann.

Ein kleiner schups reicht aus 😃

Grüße Stephan

25.04.2011 - 23:18 Uhr

Okay, dann hab ich das soweit verstanden 😃

Dann kann es ja fast schon losgehen mit dem Projekt. Hab somit die wichtigsten Details erörtert 😉

Details werden dann später sicher noch auftauchen, die ich dann erfragen muss.

Grüße Stephan

25.04.2011 - 21:50 Uhr

So nun komme ich zum ersten Problem 😃

Ich hab mir nun mal im EDMX Designer eine Entität erstellt ( Person ).
Wenn ich nun als Codegenerierungselement den "ADO.NET POCO Entity Generator" nutze, erstellt der mir ja saubere Klassen von meinen Entitäten.


//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated from a template.
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Collections.Specialized;

namespace EFEval.Library
{
    public partial class Person
    {
        #region Primitive Properties
    
        public virtual int ID
        {
            get;
            set;
        }
    
        public virtual string Name
        {
            get;
            set;
        }
    
        public virtual string Anrede
        {
            get;
            set;
        }
    
        public virtual string Alter
        {
            get;
            set;
        }
    
        public virtual string Beruf
        {
            get;
            set;
        }

        #endregion
    }
}

Da die Klasse aber "Auto-Generated" ist, überschreibt der mir ja jede Änderung, die ich darin machen würde.
Also komme ich im moment nicht ganz dahinter, was du oben mit deinem Code Beispiel meinst.

Muss ich dazu das Codegenerierungs-Template anpassen? Und darin alles raus werfen, was den Code in der Primitive Properties Region schreibt.
Den Code wie in deinem Beispiel könnte ich ja in eine eigene Datei packen ( partial ).

Hast Du das so gemeint? Oder bin ich da auf dem falschen Dampfer unterwegs.

Grüße Stephan

25.04.2011 - 20:44 Uhr

Danke nochmal für die Infos.
Ich muss das nun alles mal evaluieren 😃 Ist im moment ein bisschen viel auf einmal 😉 Aber das backe ich schon zu meinem Kuchen zusammen 😃

Grüße Stephan

PS: Wo aus BW kommst Du eigentlich her 😉

25.04.2011 - 20:28 Uhr

Hallo Abt,

danke erstmal für den Ratschlag. Ein paar Fragen hätte ich trotzdem noch dazu.

also ich rate von der Code First Variante ab!
Habe ziemlich schlechte Erfahrung bei der Wartung von Code und Datenbank mit dieser Variante gemacht und empfehle jedem nicht Code First zu nutzen, ausser er hat wirklich viel Zeit und Nerven, die er opfern möchte!

Was genau sind da deine Erfahrungen? Muss man da umständlich dann die Datenbanken nachziehen? Denn so wie ich das verstanden habe aus dem WebCast, muss man da ja die Datenbank nicht explizit selbst designen, sondern erstellt nur das Mapping und die Objecte und kann das dann nutzen. ( Soll nun aber erstmal nebensächlich sein, ob da mein Wissen korrekt ist, denn dein ansatz möchte ich auch erstmal erforschen )

Ich empfehle den Weg über den Designer seine Entities zu erstellen, und anschließend über den POCO Entity Generator seine Entities zu erstellen.

Anschließend erstellst Du Dir Metadata-Klassen, in denen die Data Annoatiations gelegt werden. Diese werden der Entity-Klasse mit MetadataType injeziert. Über das Implementieren von IValidateable kannst Du zusätzlich logische Validierungen durchführen ( wirft die Fehler direkt in den ModelState ).

Gehe ich da recht in der annahme, das ich dann für das MVC trotzdem noch ein Model erstellen muss, das sich rein um die Anzeige kümmert? Wenn ich das mit dem Repository richtig verstanden habe, müsste ich darin dann ja die umsetzung machen, von dem Model, was man vom Controller bekommt, in die Entität für die Datenbank und umgekehrt.

Im moment ist das noch ein bisschen wirr in meinem Kopf. Versuche da nun ein bisschen Ordnung rein zu bekommen 😉
Die meisten Beispiele die man im Internet findet, behandeln ja nur kleine teilausschnitte des ganzen, aber nie im gesamten als Projekt.

Ich werde mich nun mal ein bisschen mit deinem Vorschlag befassen.

Grüße Stephan

25.04.2011 - 19:23 Uhr

Hallo zusammen,

im moment bin ich die einzelnen Frameworks am durchprobieren, das ich entscheiden kann, welchen Weg ich gehen soll.

Im ASP.NET MVC3 Modeliert man ja die Models, das man damit die Daten an die jeweiligen Views binden kann. In den Models wird die Validierungslogik mit untergebracht, was dann zu sehr kompakten Code führt.

Beim Entity Framework4 kann man mit POCO ( Model-First ) das Mapping zur Datenbank durchführen.

Nun meine Frage:
Kann ich für das Mapping der Datenbank dann die selben Models aus dem ASP.NET MVC3 verwenden, oder stört sich EF4 dann an den Annotations in den Models, welche man ja zum Validieren nutzt? Das würde dann ja einiges an Logik sparen, das man nur 1x die Models pflegen muss, und diese dann 1:1 in die Datenbank bekommt.

Sollte man da eventuell ein Repository noch dazwischen schalten?

Im prinzip hab ich die einzelnen Frameworks verstanden. Von Details bin ich im moment aber noch weit entfernt. Mir geht es darum, heraus zu finden, welchen weg ich weiter gehen muss. Also wo ich noch lesen muss.

Wenn also jemand noch ein entscheidende Tips hat, bitte immer her damit.

Grüße Stephan

24.04.2011 - 00:12 Uhr

Hallo simplex,

OpenFileDialog.SafeFileName-Eigenschaft, das ist was Du suchst.
Der Blick in die MSDN Doku sollte immer die erste Aktion sein. Meistens findet man dort schon jede Information, die man benötigt.

Grüße Stephan

18.04.2011 - 22:34 Uhr

Hallo Abt,

der Source ist fast identisch. Da wurden lediglich die Views an das neue Racor angepasst.

Grüße Stephan

17.04.2011 - 23:58 Uhr

Ja, es gibt ein Nerddinner Reloaded, das auf MVC3 basiert und cshtml-Files mit Razor nutzt. Kann sein, dass das mittlerweile integriert ist und nicht mehr "Reloaded" heißt.

Ich bezweifel das bei dem Source den ich geladen habe das MVC3 schon drinne ist. Der Source ist von 2010 noch.

Hab nach dem Reloaded gesucht, aber es nicht gefunden. Das einzigste was ich gefunden habe, war ein Blog Beitrag von Scott Hanselmann, aber dann noch im Context mit EF4.

Naja, auch egal. Ich habe das Konzept erkannt. Und eine reine umleitung in eine Subdomain ist wäre einfacher zu realisieren, da man dann ja nur auf Request.Browser.IsMobileDevice prüfen und muss, und ein Redirect macht.
Aber gerade, das es sich versteckt, und dann eben im Smartphone nur optimiert angezeigt wird, gefällt mir. Auch entgeht man da der Gefahr besser, das man DC baut, was Sumas nicht gerne haben 😃

Grüße Stephan

17.04.2011 - 23:24 Uhr

Hallo,

Rechtliches solltest Du über einen Rechtsanwalt klären, denn hier im Forum sind Programmierer unterwegs und keine Juristen.

Vermarkten kann man seine Software über viele wege. Zum einen geht das über eine eigene Website, zum anderen kann man dies als Beilage zu Zeitschriften vertreiben ( hohe verbreitung ).

Finanztechnische dinge kannst Du unter anderem im Finanzamt klären, oder bei einem Steuerberater. Grundlegend musst Du dann aber jede Einnahme die Du hast in der Steuererklärung aufführen.

Über ShareIt kannst Du zB die Abwicklung der Bezahlung der Software regeln.

Alles in allem, ist der Vertrieb einer Software recht umfangreich und hat durchaus nicht geringe hürden.
Ob sich das als Schüler lohnt, bezweifel ich mal.

Grüße
Stephan

17.04.2011 - 23:03 Uhr

Hallo Abt,

du meinst mit Nerddinner Reloaded sicher das Nerddinner Codeplex Projekt.
Ich hab mir den Source mal runter gezogen und auch mal die Live Seite von dem Projekt in meinem WP7 ansehen wollen. Das zeigte sich aber gleich an, wie im Browser. Ich hab aber den Punkt gefunden, warum das so ist. Das Projekt ist nur auf das iPhone optimiert worden. Gut das macht jetzt nichts, da ich denke ich mal, die entscheidenden stellen im Source gefunden habe, wie man eine Mobile taugliche Site erstellen kann.

Entscheidend ist, das man die ViewEngine anpassen muss. Dann kann man auf die Browser testen, und den Path der Views anpassen (MOBIL: /Views/Home/Mobile/Index.cshtml) (NORMAL: /Views/Home/Index.cshtml).

Was mich jetzt noch ein bisschen verwirrt hat war, das in dem Source vom Nerddinner Masterpages und *.aspx Seiten vorhanden sind.
Ich habe mir aber MVC 3 angesehen, und dort sind das ja Index.cshtml und _Layout.cshtml Dateien.
Nehme mal an, das dies mit der Einstellung zu tun hat, ob man die Razor Engine verwendet oder wie ich annehme klassiches ASPX als Engine ( Auswahl im Dialog beim anlegen einer View).

Alles in allem, hat mir der Tip mit dem Nerddinner Projekt enorm geholfen, das MVC zu verstehen.

Grüße Stephan

17.04.2011 - 20:48 Uhr

Hallo Abt,

jetzt hat es Klick gemacht Kopf an Wand hau . Warum bin ich nicht direkt selbst drauf gekommen.
Ich brauche ja nur einen Controller "mobil" erstellen, und hab dann die Views getrennt und kann darin wirken wie ich das will.

Mir ging es nur darum, da man ja die Grundstruktur bei den Mobilen Seiten extrem gering halten sollte, muss ich ja vom Header weg alles anpassen.

Ich werde jetzt mal meine Gedanken in ein Testprojekt packen 😃

Zudem gibt es bei MVC Areas, die eine weitere Kapselung von Controllern und Views ermöglichen. Schau Dir das mal an. Lohnt sich.

Das werde ich mir mal ansehen. Wie gesagt, ich hab bis jetzt nur mal ins MVC reingeschnuppert. So wirklich viel wissen hab ich darin noch nicht.

Danke noch, das war der Stein, der gefehlt hatte 😉

Grüße Stephan

17.04.2011 - 20:08 Uhr

Hallo zusammen,

ich hab mir ein bisschen das ASP.NET MVC 3 Framework angesehen. So richtig fitt bin ich darin zwar noch nicht, aber ich denke, das ich mit dem Framework glücklich werden kann.

Nun stelle ich mir gerade die frage, wie ich das realisieren kann, das man 2 getrennte Templates nutzen kann? Hintergrund ist, das es ja vermehrt auch Smartphone User gibt, die Mobil Surfen. Eine angepasste Website zu erstellen ist ja nicht besonders schwer. Folgendes stelle ich mir vor, das die normale Website unter www.domain.de angezeigt werden soll. Die Mobile dann unter www.domain.de/mobil .

Ich bräuchte dann ja 2 getrennte Controller und Views. Die Model sind die selben.
Kann ich einfach ein Unterverzeichnis anlegen, und darin dann auch einen Ordner Controllers und Views anlegen? Oder wie macht man das?

Brauche nur ein paar denkanstöße in die richtige Richtung.

Danke schonmal an alle, die sich mit dem MVC besser auskennen.

Grüße Stephan

04.04.2011 - 21:57 Uhr

Hallo C#ler,

ich sehe bei Dir einige Fehler, die ich anfangs auch gemacht habe. Abgesehen von den obigen Kommentaren, kommt noch folgendes hinzu:
*MessageBox.Show() gehört in die GUI rein. Wenn Du in der Klasse ausgaben machen möchtest, dann kannst Du das über Events nach außen geben [FAQ] Eigenen Event definieren / Information zu Events , so kann der Anwender der Klasse, dann selbst entscheiden, was er mit der Meldung machen will.
Für dich als Developer, gehen auch Präprozessordirektiven in denen Du dann Debug Meldungen in das Visual Studio Ausgabefenster schreiben kannst. #if (C#-Referenz), oder meistens auch ausreichend die Debug-Methoden. *Du übernimmst die Werte im Konstruktor ungeprüft. Es macht wenig sinn, wenn man eine Mail versenden möchte, das man einen leeren SmtpUserName angeben kann. Dies sollte man dann sofort mit einer ArgumentException dem aufrufer melden. *DIe SmtpClient Klasse nutzt Unmanaged Methoden. Diese muss man nach der verwendung mit Dispose wieder freigeben. Lese Dir da mal zu der SmtpClient.Dispose() Methode und using-Anweisung die MSDN durch. Da hast Du dir nämlich eines der guten Beispiele der MSDN ausgesucht, wo das Thema Dispose sehr gut erklärt wird.

Als anmerkung zu deiner Exception Klasse noch. Ich hab mir das so angewöhnt, wenn ich Exceptions nicht selbst und direkt behandeln kann in meiner Klasse, lasse ich die laufen und werfe die nur weiter nach oben. So muss sich dann der aufrufer um das Problem kümmern und kann wiederum selbst entscheiden, was er damit machen will.
Eigene Exception Klassen verwende ich nur, wenn innerhalb meiner Klasse neue Exception entstehen können, die ich dann nach oben melden möchte, sofern es in der MSDN dazu noch keine fertigen Exception schon gibt, die das Problem behandeln (siehe ArgumentException).

So das sollte Dir dann noch weiterhelfen, um die Klasse besser zu designen.

Grüße Stephan

01.04.2011 - 19:00 Uhr

Hallo zusammen,

super Aprilscherz, auch wenn ich es nicht selbst sehen konnte 😃

Grüße Stephan

16.03.2011 - 00:17 Uhr

Hallo,

Jetzt fehlt mir aber das elektrotechnische Fachwissen wie man so etwas ansteuert.

Ich denke ohne konkretes Elektronik Fachwissen, wirst du mit deiner Frage in einem reinen Programmierforum nicht weiter kommen.
Bei Conrad oder ELV gibt es schon diverse fertige Platinen. Wobei ich empfinde, das die meisten davon nur mehr als Grundlage dienen können, dann aber wieder durch eigene elektronische Schaltungen erweitert und oder umgebaut werden müssen. Also "Die" perfekte Platine wirst Du wohl eher nicht finden.

Um effektiv was zu basteln wirst Du aber wohl um einen Atmel nicht herum kommen. Damit ist man zumindest mal am flexibelsten. Nur dann sollte man eben auch ein bisschen Elektronik beherschen, und zumindest so sachen wie "Phasenabschnitt" kennen ( würde da schon reichen um einen 24V Gleichstrommotor zu regeln).

Aber allgemein ist das ein Fachbereich, den man nicht unterschätzen sollte. Wenn Du eine hohe Frustgrenze hast, ist Elektronik ein schönes Fachgebiet, wo man sich gut austoben kann. Aber man wird am anfang sehr häufig rückschläge haben, die auch durchaus mal teuer werden können ( Atmel geschrottet usw 🙂 )

07.03.2011 - 21:23 Uhr

Hallo Felsen,

bin mir nicht ganz sicher, ob es das ist, was du brauchst.

Action<T> Delegate
Func<TResult> Delegate

Aber über diese beiden Methoden kannst du eine Methode verpacken und anderer stelle dann zur ausführung bringen.

Grüße Stephan

06.03.2011 - 01:55 Uhr

Schade, das ich mit meinem Mozart das noch nicht genießen kann 😃
Aber das Update soll ja die nächsten Tage kommen.

@winSharp93
Ein riesen Respekt von mir, das du dir die arbeit gemacht hast. Das was die Screen zeigen lässt schon vieles versprechen.

02.03.2011 - 21:46 Uhr

Hallo Michael,

? ist die Kurzschreibweise für Nullable<DateTime>

Nullable ist mir ein Begriff. Nur kann ich mich nicht daran erinnern dies jemals in der Kurzform "?" gelesen zu haben.

Danke

Grüße Stephan

02.03.2011 - 21:31 Uhr

Hallo zusammen,

beim durchstöbern der FriendStorage Beispiel Anwendung aus meinem WPF Buch bin ich über folgende Syntax gestolpert:

private DateTime? birthday;

Was bedeutet dort das "?" ?
Sehe das zum ersten mal.

Danke und Grüße
Stephan

01.03.2011 - 22:44 Uhr

Hallo zusammen,

ich möchte ein Tool schreiben, was einem Windows Dienst diverse Arbeiten geben soll, die der Dienst dann zeitgesteuert selbst im Hintergrund abarbeiten soll.
Dabei sind mir 2 wichtige fragen aufgetaucht, wie ich das am besten umsetzen soll.

  1. Der Benutzer soll über eine Oberfläche Daten erfassen können, die dann durch einen Windows Dienst automatisiert abarbeitet werden sollen.
    Meine frage dazu:
    Wie kann ich dem Dienst am geschicktesten die Daten übergeben?
    Sollte der Dienst ein Service Point haben ( Remoting / WCF ) und darüber dann die Daten übermitteln?
    Da der Dienst dann aber die Daten ja auch irgendwohin speichern muss ( SQL / XML / Binär etc ) könnte man diese Daten ja auch direkt da rein speichern.

Wie handhabt ihr das?

  1. Der Dienst soll dann anhand konfigurierbarer Zeit einen Job abarbeiten. Den Zeitpunkt soll der Benutzer angeben können.
    Wie macht man das am besten?
    Meine überlegung, das man in einem Thread immer die eingestellte Zeit mit der aktuellen Systemzeit vergleicht, sehe ich als suboptimal, da ja dann zum Startzeitpunkt des Dienst einmalig die Daten aus der Quelle gelesen werden. Was passiert aber, wenn zwischenzeitlich die Daten geändert wurden, dann hat der Dienst ja alte Daten. In jedem Zyklus die Daten neu aus der Quelle lesen, finde ich da auch nicht gut, da ja dann alle paar Sekunden die Daten gelesen werden müssten, was sicher nicht performant ist.

Die beiden Punkten hängen indirekt zusammen. Einerseits möchte ich das Tool und den Dienst so schlank wie möglich halten, aber dann trotzdem flexibel genug. Als Datenquelle würde ich XML fast noch am schönsten finden, oder eine SQL-Compakt DB. Einen extra SQL Server voraussetzen wäre da Oversized.
Gerade im bezug auf die Zeitliche Steuerung der Jobs komme ich auf keinen grünen zweig.
Aber vieleicht übersehe ich da auch nur etwas.

Über ein paar nette gedanken von euch würde ich mich sehr freuen.

Grüße Stephan

28.02.2011 - 23:25 Uhr

Hallo String-Man,

zB spamprogramme schreiben mir doch auch e-mails von irgendwo.

Das ist richtig, Spamprogramme nutzen aber dafür OpenRelay MailServer, die eben keine SMTP Authentifizierung benutzen. Das ein MailServer ein OpenRelay ist, liegt an der unwissenheit der Administratoren, welche nicht wissen, was sie da machen. Die großen Email Provider sind da aber fit drinne, und setzen eine SMTP Authentifizierung voraus.

Hier noch ein wenig Literatur zum lesen:
Simple Mail Transfer Protocol
Offenes Mail-Relay
SMTP-After-POP ( Das ist mittlerweile ein eher veraltetes Verfahren. Das beruht da drauf, das es früher fast nur POP Server gab, mittlerweile sich aber IMAP mit seinen vorzügen durchsetzt.)
SMTP-Auth

Grüße Stephan

24.02.2011 - 22:56 Uhr

Hallo zusammen,

die Bundesbank verwaltet ja die Bankleitzahlen und stellt verschiedene Methoden zur Berechnung der Prüfziffer bei Kontonummern bereit.

Nun meine frage, kennt jemand einen Service im Internet, denn man zum prüfen verwenden kann, der auch immer aktuell ist?
Das dürfte auch gerne ein bisschen Kosten im Monat, wenn einem dadurch Arbeit abgenommen wird, das selbst zu implementieren.

Hier noch die PDF mit den Methoden die ich meine: http://www.bundesbank.de/download/zahlungsverkehr/zv_pz201103.pdf

Grüße Stephan

21.02.2011 - 18:28 Uhr

aus welchen Gründen würdet ihr mir ein MacBook empfehlen

Ganz schlicht gesagt, wenn man Apps Programmieren möchte, und diese auch für das iPhone schreiben möchte. Okay, das gehört dann nicht mehr in C#, da andere Programmiersprache, aber mit dem MacBook ist man dort besser aufgehoben.

Lasst ihr das MacOS drauf und installiert

Ja ich würde da dann beide Betriebsysteme im DualBoot installieren. Macht meines erachtens mehr sinn, als eines der beiden in einem vituellen System einzusperren.

11.02.2011 - 23:14 Uhr

Der Threadersteller fragte jedoch explizit nach

Ich wollte auch nur die andere Seite erwähnen, wie man es lösen kann, das man als Admin trotzdem zugriff haben kann 😉

11.02.2011 - 23:11 Uhr

Habe im Rootverzeichnis eine Datei namens App_Offline.htm

Damit lässt sich aber nicht realisieren, wenn man zB als Admin noch auf die Seite möchte, da man nur mal etwas einstellen oder umstellen möchte, was noch nicht für ein Live Betrieb gedacht ist.

Ich löse das über ein HttpModul, das normale anfragen an eine Wartungsseite weiter leitet. Für den Admin selbst übergebe ich dann eine Guid, die den Admin zugriff durchreicht.

11.02.2011 - 19:47 Uhr

Hallo ThomasSch,

ich glaube jetzt habe ich es kapiert.

Das hätte man leicht durch das durcharbeiten eines guten Buches heraus gefunden Binäre Serialisierung.
Soll jetzt nicht negativ wirken, aber so ganz ohne Lektüre wird das schwer, da die rechten Wege zu finden.

Grüße Stephan

10.02.2011 - 23:35 Uhr

Was hat sich M$ dabei nur gedacht.
Ich wollte eigentlich noch ein paar Geschäftsanwendungen für unsere Mitarbeiter (vorallem im Aussendienst) entwickeln. Das kann ich aber wohl vergessen.

Ich hab da mal irgendwo ein Statement zu dem Thema gelesen/gehört.
Das WP7 soll nicht mehr als ein PDA angesehen werden, worin man seine eigenen Geschäftsanwendungen installieren kann. "Back to the Roots" ist die Richtung die MS gehen möchte. Ein Handy ist in erster Linie ersteinmal ein Telefon, was ja eine Kommunikation unter Menschen bedeutet. Social Network, wie Facebook und Co gehören auch in diese Kategorie *. Geschäftsanwendungen passen da eben nicht mehr in das Bild mit rein.
Der wohl andere Grund wird dann auch noch sein, das MS dem Apfel nachfolgen MUSS um den Kuchenanteil am Markt beibehalten zu können.

Alternativen um kleine Business Anwendungen Mobil nutzen zu können gibt es ja immer noch. WP7 hat ja einen Browser, der sich da sehr gut für verwenden lässt mit einer ASP.NET Seite gefüttert zu werden.
Sehe darin auch noch einen weiteren vorteil. Es besteht dann nur 1 Abhängigkeit, die man pflegen/erweitern muss, und hat auch noch den genuss, das man mit jedem Internetfähigen Gerät zugriff hat.

Grüße Stephan

PS: * wobei ich persönlich von diesen Portalen nichts halte, und könnte durchaus auf dem WP7 drauf verzichten 😉 Stattdessen, würde mir das Deployen von Business Anwendungen auch gefallen, aber das soll hier nicht zur debatte stehen.

03.02.2011 - 01:10 Uhr

form2 ist eigentlich nur ne form zum anlegen von datensätzen mit 2 textboxen

Warum willst Du eigentlich direkt in form2 die Daten in das DataSet schreiben.
Wenn auf der form2 sowieso nur 2 TextBoxen vorhanden sind, dann kannst du die komplette verarbeitung des DataSet und des TreeView in form1 belassen, und feuerst lediglich in form2 ein Event, das in form1 dann die beiden Werte aus form2 über einen Property auslesen kann und in das DataSet schreibt und den TreeView neu aufbauen lässt.

Grüße Stephan