Laden...

Forenbeiträge von mfe Ingesamt 177 Beiträge

17.07.2016 - 17:04 Uhr

Ich bin momentan auch auf der Suche nach einem Notebook Weil mein alter inzwischen nicht mehr produktiv nutzbar ist (kaufjahr 2005!).

Ich möchte diesen für meine privaten Projekte nutzen und Bin hin und hergerissen ob ich mich jetzt eher für die billige oder teurer Variante entscheiden Soll. Zuerst hatte ich an das Intel m3 Model gedacht, da dieses für vs.net 2015 Entwicklung reichen sollte, die Wärme Entwicklung besser wie bei der i7 Variante ist aber 4gb ram sind definitiv zu wenig. Anscheinend gibt es kein m3 Model mit 8 oder 16gb (12 gb ram sind meiner Meinung ausreichend).

Jetzt bin ich mir nicht sicher ob ich zur i5 mit 8gb ram (16gb ram gibt es für dieses Modell auch nicht) oder gleich den i7 mit 16gb ram nehmen soll...

Die heisse Rückseite und der ständige aktive Lüfter wie sie beim i7 Model auftreten Schrecken mich momentan ein bisschen ab. Ist das beim i5 besser?
Oder meint ihr sind 16gb ram übertrieben?

(geschrieben mit 1020)

15.07.2016 - 21:06 Uhr

Hi, was du suchst ist bidirrktionales Binding. Bei der letzten nuget wcf Client Version für uwp (2016.02) war das aber noch nicht released. Müsstest du also checken ob das breites als nuget Package released worden ist, ansonsten einfach den Source Code kompilieren.

(Beitrag mit Handy geschrieben)

16.06.2016 - 21:27 Uhr

Wenn es dir nicht zu aufwändig ist, schieb einen Services zwischen UWP App und DB, dann bist du flexibler was DB angeht.

Den Service kannst du mit RESTful oder WCF machen, empfehle dir in deinem Fall auf Rest zu setzen.

27.05.2016 - 09:02 Uhr

Die Frage ist, inwieweit sich dieser Strategiewandel auf uns Entwickler auswirken wird. Zumindest auf jene die in diesem Bereich tätig sind.

26.05.2016 - 12:44 Uhr

Hi,

es war aus den einen oder anderen News Berichten zu Jahresanfang zu erahnen. Das wurde auch bereits indirekt auf der Build 2016 gesagt. Jetzt ist es mehr oder weniger offiziell. Klar, Windows Mobile bleibt uns erhalten, aber wenn man nicht aktiv dem jetzigen Trend entgegensteuert wir Windows Mobile in der Bedeutungslosigkeit verschwinden.

Ich habe die Befürchtung, dass sie auch im Business Bereich an Boden verlieren werden.

Wozu sollte man auf Windows Mobile setzten, wenn MS die ganzen Services und Apps auf den anderen Plattformen, mittlerweile weitaus besser bedient?

Vergleichbare Hardware wie zu Windows Mobile 6.5/CE Zeiten ist auch nicht vorhanden. Nur mal als Beispiel, geeignete Geräte für Paketzusteller und Zugbegleiter die die Windows Platform 10 unterstützen sind nicht existent. Die ersten brauchbaren IoT Geräte auf Basis von Windows 10 kommen frühestens diesen Sommer. Realistischer ist 2017.

Daraus kann man wahrscheinlich folgendes zurückführen.
Bei einer Projektausschreibung die aus dem obigen Bereich stammt, gibt es mittlerweile mehr Angebote an Geräten mit Software die auf Anroid und Konsorten basiert als aus dem .NET Segment.

Wenn MS Windows Mobile so unwichtig ist, dann werde ich meine Prioritäten hinsichtlich UWP Entwicklung auch überdenken müssen.

18.04.2016 - 10:39 Uhr

Vorteil Copy/Paste

Angenommen du willst eine Klasse, aber nicht den namespace, kopieren, dann muss man die usings (im neuen Projekt) manuel hinzufügen. Hat man hingegen die usings innerhalb vom namespaces kann man diese einfach mit kopieren.

31.03.2016 - 09:06 Uhr

@bredator so würde ich es auch formulieren 😃

Dass man win32 Desktop Apps irgendwann in den Store publishen können soll, hat man schon 2015 bekannt gegeben. Jetzt wurde man konkreter wie das passieren soll und dass die win32 apps jetzt auch auf winrt zugreifen können muss erschien irgendwie logisch.

Fragt sich nur wie sich das auf die UWP Apps Verbreitung auswirken wird. Derzeit ist die WinRT Schnittstelle einfach noch sehr beschränkt um Enterprise Applications zu entwickeln und die Windoes 10 Mobile Platform zu wenig verbreitet. Wenn ich dann eine mobile App Entwickle, habe ich mit Xamarin eine viel größere Reichweite.

Bringt mich zum nächsten Punkt. Eine unterstützung von UWP auf Xbox wurde auch schon letztes Jahr bekannt gegeben. Gut ich kann absofort die Xbox in den Dev Mode schalten. Aufgrund der im Vorfeld bekannten News um UWP und XBox hätte mir da schon was fertiges gewünscht.

Nicht wirklich viel neues, das interessante auf das man schon 2015 wartet kommt halt wieder coming soon....

20.03.2016 - 10:15 Uhr

Business-Objekt <-> WCF Service <-> Rep. mit WCF Client -> DTO <-> Model <-> ViewModel <-> View
leider nein.

Damit wollte ich zeigen, was bereits FZelle geschrieben hat.

Hier ist das ganze MVVM Pattern nur der Teil der in Präsentationsschicht steht.
Also das ViewModel und der View haben erstmal überhaupt nichts mit der Businesslogik usw zu tun.

Das sieht man auch recht gut, da es "hierarchisch" unter dem "Model <-> ViewModel <-> View" liegt. Je nach Umfang des Projektes, hat man halt eine oder mehrere Schichten mehr/weniger.

19.03.2016 - 19:33 Uhr

erstmal vielen dank für das hübsche 4-Gewinnt! 😮
Hast du das gemacht, oder ist das das vom Video?

Nein, das ist von dem Prof. bzw Youtuber.

Was ist ein Model, ein Business-Model, ein fürs Frontend-erstelltes Model?
Ein Business-Objekt - ist das ein Model oder ein Viewmodel?

Ich betrachte das Business-Model komplett isoliert von der Frontend Anwendung. Vlt. ist so ersichtlicher:

Business-Objekt <-> WCF Service <-> Rep. mit WCF Client -> DTO <-> Model <-> ViewModel <-> View

oder so wie es im 4 Gewinnt ist:

Business-Objekt=Model <-> ViewModel <-> View

19.03.2016 - 19:03 Uhr

Das liegt meiner Meinung daran, dass bei diesem abstrakten Entwurfsmuster die Begrifflichkeiten in der Praxies verschwimmen können und auch von dem einen oder anderen anders aufgefasst werden können.
Einspruch!
Also ich find die Begrifflichkeiten bei MVVM wohltuend klar, und da verschwimmt auch nix.

Ich denke BeZi hat hier ein sehr gutes Beispiel gebracht in welchem man eindeutig sieht, dass diese Begrifflichkeiten nicht immer eindeutig zuordenbar sind. Siehe dazu auch folgenden Absatz.

Beim genannten 4-Gewinnt Beispiel sind die ViewModels anders organisiert (siehe auch https://dl.dropboxusercontent.com/u/14810011/VierGewinnt.zip ) Eine View hat dort nicht zwingend ein ViewModel, sondern kann wiederum mehrere ViewModels enthalten.


<ContentControl Content="{Binding Path=SpielerViewModels[0]}" 
                        ContentTemplate="{StaticResource SpielerViewModelDataTemplate}"/>

        <ContentControl Grid.Column="1" Grid.Row="0" Content="{Binding Path=SpielbrettViewModel}" 
                        ContentTemplate="{StaticResource SpielerbrettViewModelDataTemplate}"
                        Margin="10 0"/>

        <ContentControl Grid.Column="2" Grid.Row="0" Content="{Binding Path=SpielerViewModels[1]}" 
                        ContentTemplate="{StaticResource SpielerViewModelDataTemplate}"/>

        <TextBlock Text="{Binding Gewinnertext}" />

Das SpielerViewModel enthält hier eine Property vom Typ Spieler und ein boolean ob dieser gerade am Zug ist. Den Code hätte man also genauso ins MainViewModel geben können. Bei größeren Projekten kann eine solche Aufteilungen extrem unübersichtlich werden. Hinzu kommt auch, dass ich z.B. aus dem SpielerViewModel nicht auf die Instanzen vom MainViewModel zugreifen kann (Ist bei der Validierung relevant). Ich würde solche Verschachtelungen von ViewModels vermeiden.

Bzgl. der Kontroverse bei den Begrifflichkeiten: Ist für ErfinderDesRades das SpielerViewModel noch ein ViewModel oder ist das bereits ein für das Frontend erstelltes Model?

Sprich für mich ist das die Geschäftslogik und ist NICHT im VM implementiert. Verstehe ich jetzt was falsch ?

Im Prinzip hat er das Model vom MVVM Pattern gar nicht erst gemacht. Das Core Projekt ist bei ihm das Business Model. Wenn wir bei MVVM von einem Model sprechen, dient dies vorwiegend zum Anzeigen oder Bearbeiten der Daten im Frontend Client. Das muss nicht zwingend das Business Model sein. Es kommt aber vor, dass man die Business Objects bis zum Frontend durchschleift. Hat natürlich seine Vor- und Nachteile.

Das VM hilft nur für die Anzeige. Sonst würde ja bald das Model keinen Sinn mehr machen.

Die VM ist das Bindeglied zwischen View und Models. Es stellt die Daten über die Models bereit. Du hast es zum Teil bereits auch selbst beantwortet

Ich habe es so verstanden das das VM die "Geschäftslogik für die View ist"

Wohin kommen denn sonst Datenbankanfragen?

Datenbank-, WCF-, WebApi- und sonstige Zugriffe werden meist in "Services" gekapselt und ausgelagert. Stichwort Repositories. Die ViewModels greifen auf diese Repositories zu und befüllen damit die Models.

Als Erklärung für mich warum die Funktionalität ins Model sollte --> was ist wenn verschiedene System benutzt werden nicht nur WPF. Evtl. eine andere Oberfläche, z.B. DirektX, Dann müsste ich ja die Logik für jedes System extra neu implementieren.

Ein gutes Argument dafür dass hier die BOs als Model "missbraucht" werden.

19.03.2016 - 15:15 Uhr

Das MVVM Pattern sorgt immer wieder für Gesprächsstoff 😃

Das liegt meiner Meinung daran, dass bei diesem abstrakten Entwurfsmuster die Begrifflichkeiten in der Praxies verschwimmen können und auch von dem einen oder anderen anders aufgefasst werden. Daher gibt es auch verschiedene praktische Umsetzungen des Patterns.

Ich halte mir deshalb immer vor Augen, dass das Ziele vom MVVM Pattern eine lose Kopplung der Komponenten ist. Als "glue" zwischen View und Model fungiert das ViewModel.

Was man jetzt alles in der View, im Model und im ViewModel macht hängt auch stark davon ab, was man machen will und wie das Projekt-Setup ausschaut.

Abgesehen davon, dass ich kein großer Freund von Models mit enthaltener Geschäftslogik bin, macht das bei großen Projekten auch überhaupt kein Sinn. Es hängt natürlich auch davon ab, welche Strategie man verfolgt. Wenn mein Ziel ist, möglichst viel Logik in den Backend zu verschieben halte ich meine Models möglichst einfach.

Models sollten deshalb nur die Daten definieren die der Benutzer in der View eingibt bzw. verändert. Darüber hinaus kann sie noch einfache Validierungslogik und primitive Funktionen enthalten. Alles andere gehört schon ins ViewModel.

Das ViewModel liegt direkt hinter der XAML View und organisiert die Daten ( der Models). Deshalb würde ich auch deine Suche ins ViewModel geben. Wenn du alles korrekt umgesetzt hast, solltes du weder im Model noch im ViewModel ein using haben welches auf einen UI Namespace zeigt. Einzige Ausnahme wäre der Dispatcher.

Es gibt ein paar Videos im Netzt in Bezug auf MVVM (mag da hingestellt sein ob es was mit meinem Problem zu tun hat oder nicht)... Aber es wir immer erst der Core mit seinen Models geschrieben und danach das VM, die auf das Model aufbauen. Und wenn ich es noch richtig weiß wird die meiste Logik in das Model gesteckt. Wenn ich jetzt aber in einer Liste suchen soll.... Hmm wieso soll dann diese Logik in das VM und wenn ich ein neues Element hinzufüge ?

Je nach Projekt kann man entweder zuerst mit der View oder dem Model anfangen. Aber so strikt würde ich da nicht vorgehen. Um die View zu testen brauchst du ja evtl. auch wieder das ViewModel 😃

Das mit der Logik im Model gefällt mir persönlich nicht, wie bereits oben erwähnt. Die Frage ist auch, welche Logik? Ist das Geschäftslogik oder die Validierungslogik innerhalb eines Models?

Die "Logik" würde ich schon alleine deshalb ins ViewModel geben, da es oft vorkommt, dass man für eine bestimmte Aktion mehrere unterschiedliche Models in einem bestimmten Zustand benötigt. Diesen Zustand kannst du nur über das ViewModel prüfen, da dieses Zugriff auf alle Model-Instanzen hat (Model-Instanz a kann nicht auf Model-Instanz b zugreifen)

Evtl. hilft dir auch dieses Beispiel weiter http://archiv.get-the-solution.net/index-blog-1-14-77-Filter-Data-mit-MVVM-(Filtering-ListView,-ListBox-mit-MVVM) ?

15.03.2016 - 09:29 Uhr

Kennst du
>
?

Cool, kannte ich noch gar nicht, obwohl ich eigentlich recht oft per mobilem Gerät auf mycsharp.de zugreife.

14.03.2016 - 12:13 Uhr

In ein Regal kann ich doch Sachen reinlegen. Zum Beispiel Bücher, Schuhe usw.
Ich wollte einfach an dem Schrank ein Merkmal haben das ich zum Beispiel auf Bücher setze und anschließend haben alle Kindelemente davon zugriff drauf und wissen das sie Bücher lagern.

Anschließend soll man das an einer Ebene überschreiben können und sagen können: du lagerst keine Bücher, du lagerst CDs.

DPs haben folgende Eigenschaften bzw. unterstützen z.B.:*DataBinding *Styles *Animations *Default Value (Metadaten) *Callback Funktion der beim Value setzen der DI exekutiert wird *Abgeleitete Klassen können das Verhalten der DI veränrden (Metadaten, Callback Funktion) *Setzen des Wertes über XAML

So wie du es geschrieben hast willst du eine Attached DP. Siehe auch hier

Ich weiß nicht genau, was du vor hast, aber ich hätte das so gestaltet:

RegalControl hat eine DP mit IEnumerable<Fach> Faecher. Für jedes Fach Item im RegalControl zeigst du ein FachControl an.

Das FachControl hat eine DP mit IEnumerable<Items> Items

Dann hast du z.b: eine Klasse Schuh : Item, Buch : Item, DVD : Item

So kannst du z.B. in ein FachControl unterschiedliche Dinge wie z.B. Bücher als auch Schuhe geben, so wie es im realen Leben ist.

Wenn du nur einen bestimmten Item Typ zulassen willst, kannst du auch einfach im FachControl eine weitere DP hinzufügen mit z.B. einem Enum DVD/Buch/Item und beim setzen der Items prüfen ob auch die Items passen und gegebenefalls eine Exception werfen.

PS: Das alles könnte man auch mit einem ItemsControl + DataTemplate welches wiederum ein ItemsControl enthät + bisschen Stylen auch realisieren. Das heißt ein UserControl oder ein CustomControl ist nicht unbedingt notwendig.

13.03.2016 - 13:37 Uhr

Wow, cooles Projekt! Werde ich mir definitiv genauer ansehen.

*bookmark*

04.03.2016 - 19:14 Uhr

Ich bin da etwas skeptisch. Wünschenswert wäre jedenfalls, wenn durch die erworbene Technologie die Universal Windows Platform auf IOS und Android Systeme erweitert wird.

Das Ziel von WPF war ursprünglich Applikationen zu schreiben, die dann auch auf Windows Phone ausführbar sind. Dass das nicht geht, wissen wir spätestens seit der Existenz von Silverlight. Erst mit mit UWP konnte man die Idee, eine Applikation die auf unterschiedlichen Devices ausführbar ist, umsetzen.

Wenn MS Xamarin nicht völlig in UWP integriert, dann sind wir wieder an dem Punkt angelangt, dass es zwei unterschiedliche Plattformen gibt. Als Entwickler sollte man gar nicht wissen müssen, dass es im Hintergrund so etwas wie Xamarin gibt.

Dabei bin ich mir dann nicht mal so sicher, ob dann UWP oder Xamrin ein SL Pendant sein wird.

Ich muss allerdings dazu sagen, dass ich bisher nur UWP-App Erfahrungen habe. Ich lass mich deshalb zu Xamrin gerne eines Besseren belehren.

12.02.2016 - 18:44 Uhr

Hey,

so wie wie sich das für mich anhört wird die Authentifizierung von einem dritten übernommen.
Dieser stellt einen sogenannten Security Token Service (STS), oder auch IdentityProvider (IdP) genannt, bereit. Mit diesem kann ein Single Sign On (SSO) realisiert werden.

Die Anwendungen bzw. deine Anwendung ist die Relying Party (RP), die überprüft ob der Benutzer angemeldet ist.

Worüber die Authentifizierung im Hintergrund abläuft (AD mit ADFS oder ein Custom STS) ist für dich eigentlich unwichtig, da du vom IdP ein Token erhälst, das den Benutzer repräsentiert. Du gehst davon aus, dass du dem Aussteller dieses Tokens trusten kannst. Damit ein trust gewährleistet ist, kann ein Token signiert oder verschlüsselt sein.

Bei der MS Variante eines IdP gibt es eine sogenannt Federation Metadata
https://msdn.microsoft.com/en-us/library/azure/dn195592.aspx Datei bei der Metadaten für die RP abgefragten werden können. Da drinnen steht, z.B. der Public Key und welche Verschlüsselungstechnik verwendet wird usw.

Die Metadata File kann, dann z.B. von diesem Tool verarbeitet werden https://visualstudiogallery.msdn.microsoft.com/e21bf653-dfe1-4d81-b3d3-795cb104066e. Diese erzeugt für die RP die passende web.config. (Achtung Tool Buggy und die web.config muss man danach meistens noch manuel anpassen)

Im Besten Fall kannst du das WS-Verbundauthentifizierungsmodul in deiner ASP.NET MVC Anwendung verwenden. Diese übernimmt, die auto. Weiterleitung auf den IdP und die verarbeitung des Tokens. Dann kannst du über HttpContext.User die Claims abfragen.

PS: Jedesmal wenn du auf einen Microsoft Service zugreifst kannst du das SSO mit verfolgen.
Z.B.
https://login.live.com/login.srf?wa=wsignin1.0&rpsnv=12&ct=1455298859&rver=6.4.6456.0&wp=MBI_SSL_SHARED&wreply=https:%2F%2Fmail.live.com%2Fdefault.aspx%3Frru%3Dinbox&lc=1033&id=64855&mkt=en-us&cbcxt=mai

Der Parameter wa gibt die Aktion an die du machen willst. Hier soll ein Sign in (wsignin1.0
) ausgeführt werden.

Auf dem IdP wird überprüft ob der Benutzer bereits eingeloggt ist, oder sich einloggen muss.

Nach dem erfolgreichen Login muss der IdP den Benutzer wieder zurück zur RP schicken. Damit er weiß wohin der Post erfolgen soll verwendet er die URL im Parameter wreply.
Parameter Values für wa:
https://msdn.microsoft.com/en-us/library/cc236488.aspx

06.02.2016 - 13:23 Uhr

Hi,

bei Enterprise Anwendungen wirst du nie deine Applikation direkt auf die DB zugreifen lassen.

Dafür verwendet man einen Service der zwischen Client Applikation und DB vermittelt.

In deinem Fall hätte ich, wie bereits Th69 vorgeschlagen hat, auf einen bidirectional wcf zurückgegriffen.

Damit kannst du das Pooling vermeiden. Der Service teilt den Clients mit (push), dass beispielsweise neue Daten vorhanden sind und feuert dafür ein Event.

Wie sich das mit 100000 Clients verhält kann ich dir aber nicht sagen. Vlt. kannst du was mit Load Balancing WCF services anfangen.

05.02.2016 - 22:54 Uhr

Bei der wpf notation im binding das "path" weglassen ist eigentlich nur eine verkürzte Schreibweise. Es bewirkt jedenfalls genau das gleiche. Du erhälst mit path=. Oder nur . Die Instanz vom gesetzten datacontext

05.02.2016 - 14:44 Uhr

Hi, als Ergänzung.

{Binding Path=.}

sollte auch gehen.

22.01.2016 - 11:01 Uhr

ich habe keine richtige Ahnung mehr von Prism, aber so wie sich das für mich anhört, ist das ein perfektes Senario. Es geht aber auch sehr leicht ohne.

Generall gehst du so vor:
a) Du definierst dir ein IMenuService. Module können den Service verwenden, um eigene Menüeinträge hinzuzufügen. Das MenuViewModel kann das Interface im Prinzip direkt implementieren.

b) Du definierst eine Region (siehe Prism) Dokumentation und tauschst die View dann nach einem Klick auf ein Menu Item aus.

Thats it.

Hi, genau das macht das oben angeführte Beispiel.

22.01.2016 - 07:22 Uhr

Wpf prism unterstützt mef. Du hast meiner Meinung zwei Möglichkeiten dein vorhanden zu realisieren. Entweder du erstellst ein Menü Interface das dann verwendet wird zum deine Tabmenüs zu generieren oder du definierst zwei regions. Eine für das aktive Menü und ein zweites für den Main Content.

Schau dir mal folgendes Beispiel an. Erstellt nach der ersten möglichkeit

https://github.com/mfe-/Get.the.solution.Prism.Demo

21.01.2016 - 20:14 Uhr

Hi,

Momentan supported prism kein mef für Windows uwp.
Meines Wissens werden aktuell nur autofac und Unity unterstützt. Am besten schaust du mal auf der offiziellen github prism Seite.
Lg

14.01.2016 - 19:19 Uhr

Schon mal die Windows 10 Foto App gestartet?
Das is ne UWP App und da geht Rechtsklick einwandfrei. Müsste über RightRapped realisiert worden sein.

Ich rede natürlich nicht von einem ContextMenü innerhalb einer App, sondern bestehende, wie eben die eines FileExplorers, zu erweitern.

Lesen und Schreiben tust du bei UWP über die StorageFile Klasse
https://msdn.microsoft.com/en-us/library/windows/apps/windows.storage.storagefile.aspx

Auch interessant dazu siehe unten stehender Link https://www.suchan.cz/2014/07/file-io-best-practices-in-windows-and-phone-apps-part-1-available-apis-and-file-exists-checking/

Am Besten du vergleichst dazu die Win8.1. Tabelle die ist der Universal App Platform 10.x sehr ähnlich.

13.01.2016 - 21:54 Uhr

Aber gerade Apps wurden doch mit Foto-Editoren groß. Warum soll dann ein Image Resizer unattraktiv für UWP Apps sein?

Das Problem ist hier wieder eine technische Einschränkung. Es gibt derzeit keine Möglichkeit für die UWP App sich in einem Rechts klick Context Menü Eintrag a la "Bild resizen" erstellen. Es scheitert schon an solchen grundlegenden Dingen.

Evtl. kann man da was richtung API Contracts machen, aber naja....

Ähnliches Problem bei den ganzen verschiedenen FileCompressor Apps. Die sind aufgrund des Sandbox FileSystems sehr eingeschränkt verwendbar.

Diese Einschränkungen verhindern, dass klassische Win32 Applikationen nicht als UWP realisiert werden können.

Als realisierbarer Restbestand bleiben nur noch, wie du sagst, die klassischen Mobile Apps. Das sind z.B. eine Lufthansa App. Warum sollte aber ein Entwickler eine solche App extra für Windows 10 Mobile entwickeln, wenn eine viele größere Userbase auf den anderen Platformen existiert. Für den Entwickler gibt es keinen Mehrwert. Die Desktop User werden weiterhin auf die Website zurückgreifen.

Deshalb glaube ich, dass die UWP nicht den erhofften App Boom für MS bringen wird.

13.01.2016 - 20:55 Uhr

Wenn man nur Daten anzeigen und bearbeiten muss, kann man getrost eine UWP entwickeln.

Für das lesen/schreiben erstellst du einen Webservice mit der die UWP kommunizieren kann.

Für alles andere sind momentan UWPs meiner Meinung nicht geeignet (Wenn es darum geht kleine Tools, wie Imageresizer, Filecompressor usw. zu machen).

Das liegt vor allem daran, dass man keinen direkten Zugriff auf das FileSystem hat. Auch so Kleinigkeiten wie ein TrayIcon, Windows Register öffnen ist derzeit nicht möglich.

Wahrscheinlich wird die WinRT API in nächster Zeit weiter geöffnet und somit die UWP Entwicklung interessanter.

13.01.2016 - 10:13 Uhr

Zu kompliziert gedacht. Die Funktion kann mit

Dictionary[ID](functionparam);

aufgerufen werden.

11.01.2016 - 19:52 Uhr

was genau hast Du vor?

Bei bestimmten Requests wird in Abhängigkeit von Parametern die u.a die ID aus dem Dictionary beinhalten können, ein Objekt nach einem bestimmten Algorithmus erzeugt.

Bei bestimmten IDs kann aber das Standardverfahren wie diese Objekte erzeugt werden abweichen. Im Dictionary sind alle diese IDs hinterlegt mit jeweils einer Function die auf einen alternativen Algorithmus zeigen. Es wird also zuerst überprüft, ob im Dictionary die gerade verarbeitende ID hinterlegt worden ist. Falls ja, soll die Function die zur ID gespeichert gespeichert ist, ausgeführt werden (anstelle des standard algorithmus), ansonsten wird das Standardverfahren zum erzeugen des Objektes herangezogen.

11.01.2016 - 18:11 Uhr

Falls ich die Function auch ohne Task ausführen kann, wäre mir das auch Recht. Ich habe aber beim MVC nichts gleichwertiges gefunden wie man es bei WPF z.B. mit Dispatcher.Current.BeginInvoke gemacht hätte.

Laut Stackoverflow wird der Task synchron ausgeführt, sobald ich auf die Result Property zugreife http://stackoverflow.com/a/22629216/740651

11.01.2016 - 16:57 Uhr

Hi,

ich habe in einem Dictionary zu jeder ID eine bestimmte Function hinterlegt.

Diese rufe ich dann so auf:

                    
                    var result = Task.Run(() => Dictionary[ID](functionparam)).Result;

                    return result;

Die gespeicherte Funktion im Dictionary greift wiederum auf an einer Stelle auf den HttpContext.Current.User zu. Das löst eine NullReferneceException aus.

Ich dachte eigentlich meine Funktion wird mit obigen Code synchron ausgeführt und hat deshalb auch den richtigen HttpContext.Current.User gesetzt.

Wie bekomme ich meine Function (Func<String,object>) dazu, dass sie beim Ausführen den selbigen HttpContext.Current.User hat?

lg

10.01.2016 - 11:58 Uhr

Hi,

ich habe eine verkettete liste ähnlich der linked list erstellt.

Um alle elemente zu "clearen" setze ich dazu das erste referenz element bzw. die erste node auf NULL.

Meine Frage:
Reicht das, damit alle nodes im speicher freigegeben werden damit später der GC alle übrigen elemente löscht? Oder müsste ich die komplette linked list durch iterieren und alle nodes einzeln auf NULL setzen?

In einer Node kann man natürlich auch Daten ablegen. Wenn jetzt ein Objekt im Node gehalten wird, das IDisposeable enthält, müsste ich bevor ich die Node referenz lösche, prüfen ob das Datenobjekt IDisposeable impelementiert und dieses gegebenfalls aufrufen?

lg

08.01.2016 - 00:03 Uhr

Ich bin mir ziemlich sicher, dass in deinem Visual Studio Output eine Meldung kommt, von wegen BindingExpression Error could'nt found MoveableModuleContextMenu_ConnectToModule on ElementName Test

Weil:
Man kann nur auf Öffentliche Properties Binden.

Du kannst dein vorhaben auf mir zwei bekannte Arten realisieren:

Du erstellst ein eigenes Event und Raised es (mit RoutingStrategie Bubble) im MoveableModuleContextMenu_ConnectToModule damit, andere dieses abonnieren können,
oder du definierst einen Command führst diesen im MoveableModuleContextMenu_ConnectToModule aus.

07.01.2016 - 14:17 Uhr

Was genau funktioniert nicht?

Bei den Event Methoden musst du den sender auf den Type Frameworkelement prüfen/casten.

Dann solltes du das Menu anhängen können:

https://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.contextmenu(v=vs.110).aspx

02.01.2016 - 14:26 Uhr

Update-Scripts abrufen, ausführen und anschließend die Datenbank-Version hoch setzen.

Schau dir mal die EF Migration Sache an.

oder den Fluent Migrator for Database Migration

Edit: Ich habe FZelle Beitrag anscheinend nicht gesehen.

Edit 2: Falls dir die generierten C# Migration Klassen nicht zusagen, kannst du auch so vorgehen wie du es im Ursprungsbeitrag beschrieben hast. Im Prinzip arbeiten die Tools auch so.*Aktuelle DB Version in einer Tabelle hinterlegen *Bei Programmstart auf erforderliche DB Version prüfen *Falls erforderlich passendes T-SQL Skript ausführen

Die T-SQL Skripte kannst du dir mit dem Datenbank Projekt erstellen lassen und dem SqlCommand übergeben. Bei Datenmigrations musst du selber Skripten.

30.12.2015 - 15:11 Uhr

Sollte es sich um eine WPF Applikation handeln schau dir auch mal das Thema Animationen an. Du könntest das besagte objekt mit einer DoubleAnimation Transparent machen und bei einer bestimmten Aktion die Animation Starten.

30.12.2015 - 13:58 Uhr

Ich sehe das auch so wie Palladin007.

UI relevanter Code gehört nicht ins ViewModel. Um CodeBehind in den Controls zu vermeiden kann man sich mittels HelperMethoden, die meistens in der Form von AttachedProperties realisiert werden, behelfen (eben z.B. mit den i:Interaction's).

Um eine Entkoppelung durchführen zu können, ist es manchmal notwendig, UI Parameter in eine -Dummy Klasse zu transformieren (quasi als Glue zwischen View und ViewModel), die dann lediglich aus primitive DatenTypen besteht und dann ans VM übegeben werden kann.

So kannst du Business von der UI -Schicht besser trennen.

10.10.2015 - 22:18 Uhr

Applikation mit AngularJS werden Clientseitig verarbeitet. Wenn du hier mit Rewrite Rules (ich wüsste auch gar nicht wie das gehen sollte - siehe hier) und anderen Workarounds versuchst bei einem Page Refresh die vorherige Seite wiederherzustellen, verlierst du genau diese Unabhängigkeit, da das ganze wieder Serverseitig geschieht.

Dass bei einer SPA bei einem Seiten refresh der Zustand verloren geht ist ein normales Verhalten. Du musst dieses mit JS bzw. AngularJS behandeln z.B. mit Cookies oder http://stackoverflow.com/questions/25040252/how-to-handle-prevent-browser-navigation-or-reload-in-angularjs usw. usf.
lg

05.10.2015 - 14:23 Uhr

Hallo,

eine andere Idee wäre, dass du das Bild in eine SVG konvertierst. Diese kannst du dann weiter mit einem Tool http://svg2xaml.codeplex.com/ ins XAML Convertieren.

Vorteil: Du kannst das Bild zur Laufzeit verändern. Z.b. die Farbe, wenn man auf einer bestimmten Seite ist.

27.09.2015 - 22:30 Uhr

Hey,

das manuelle setzen des DataContext via MEF ist mit PRISM nicht notwendig. Verwende

prism:ViewModelLocator.AutoWireViewModel="True"

siehe auch Using the ViewModelLocator class to connect view models to views

26.09.2015 - 20:41 Uhr

Datei Anhang:

26.09.2015 - 20:24 Uhr

Hi,

mit dem FileRenamer könnt ihr mehrere Dateien auf einmal umbenennen.

Dabei habt ihr folgende einstellungsmöglichkeiten:
1.Erstellungsdatum zum Dateinamen hinzufügen 1.->Bei jpgs wird das Aufnahme Datum verwendet 1.Erstellungsdatum Formatieren 1.beliebigen Text vor Dateinamen hinzufügen 1.beliebigen Text nach dem Dateinamen hinzufügen 1.den Dateinamen ersetzen und die aktuelle iterationsnummer ausgeben 1.nur bestimmte Dateierweiterungen behandeln 1.Vorschau der Dateinamen erstellen

Folgende Features möchte ich bei Zeit implementieren:Drag&Drop um weitere Dateien zu den Selektierten Dateien hinzu zufügen
Eine selektierte Datei mit ENF aus der Liste entfernen

~~Ihr könnt das Projekt hier auschecken https://github.com/mfe-/Get.the.solution.FileRenamer ~~

Über Contributorer würde ich mich freuen.

Die App ist hier zu finden: https://www.microsoft.com/store/apps/9NBLGGH4RKQT

19.05.2014 - 15:28 Uhr

Ich habe mich falsch ausgedrückt. Ich will nicht das CustomRepositorie im UnitOfWork implementieren sondern darüber auf das CustomRepositorie zugreifen können.

Momentan hält/speichert ja die UnitOfWork Klasse ledeglich meine Repositories.

19.05.2014 - 15:11 Uhr

Hallo,

gefallen tut mir eigenlich diese Umsetzung http://gaui.is/how-to-mock-the-datacontext-linq/ Jedoch besteht da das Problem, dass die Funktion

public IRepository<TEntity> GetRepository<TEntity>() where TEntity : class

derKlasse UnitOfWork nur ein IRepositoryzurück gibt.

Ich möchte aber auch CustomRepositories erstellen und diese über die Methode GetRepository erhalten. Das heißt die CustomRepositories implementieren das IRepository und erweitern dieses.

public class StudentRepository : Repository<Student>, IStudentRepository<Student>

Hat jemand eine Idee wie ich CustomRepositories in der Klasse UnitOfWork
implementieren kann oder was man sonst noch ändern müsste?

16.05.2014 - 10:52 Uhr

verwendetes Datenbanksystem: mssql, EntityFramework

Hallo,
wenn ich richtig liege, darf bzw. sollte man bei Möglichkeit nur eine Klasse die von DbContext ableitet erstellen und dort Zugriff auf sämtliche Entities anbieten. Also so:

public class SchoolContext : DbContext
{
        public DbSet<Student> Students { get; set; }
        public DbSet<Enrollment> Enrollments { get; set; }
        public DbSet<Course> Courses { get; set; }
}

Jedoch war meine Herangehensweise dahingehend, dass ich für jede Entity eine eigene Repository erstellt habe.
Das sieht dann so aus:

Public class EntityAContext : IEntityARepository 
{
 public DbSet<EntityA> EntityList  [… implemention of interface]
}
Public interface IEntityARepository
{ 
IEnumerable<Entity> EntitiesList { get; } 
}

Mit dem Framework Ninject habe ich dann in etwa folgendes gemacht

            kernel.Bind<IEntityA>().To<EntityAContext>();
            kernel.Bind<IEntityB >().To<EntityBContext>();

Wenn jetzt jede Context Klasse also z.b EntityAContext von DbContext ableitet, erhalte ich die Exception „base {System.SystemException} = {"The model backing the 'EntityContext' context has changed since the database was created. Consider using Code First Migrations to update the database (http://go.microsoft.com/fwlink/?LinkId=238269)."}”

Weiß jemand wie man sowas am Besten realisieren kann? Für jede Entitiy eine eigene Repository Klasse erstellen die zugriff auf den DBContext hat.

14.05.2014 - 08:59 Uhr

Hallo,

ich möchte eine Custom Validation für ein SubmitModel erstellen. Dazu habe ich mich am folgenden Tutorial orientiert.

Custom Data Annotations or Custom Validation Attributes in MVC

Da es in .NET 4.0 keine Email Validierung gibt, habe ich mit dieser begonnen.

 public class Email : ValidationAttribute
 {
        public Type ErrorMessageResourceType { get; set; }

        public String ErrorMessageResourceName { get; set; }

        public Email()
            : base("Email constructor")
        {
        }

        protected override ValidationResult IsValid(object value, ValidationContext validationContext)
        {
		}
}

Die Validierung wird bei einem Post aufgerufen. Ich hätte aber gern, dass beim verlieren des Focus die Validierung aufgerufen wird. Stichwort Custom Client Validation.

Also habe ich wie im Tutorial noch das IClientValidatable implementiert und die dazugehörigen JS Dateien erstellt.

Jetzt ist mir aufgefallen, dass das Tutorial sich auf MVC 3 bezieht und z.B. die Required Validierung auch beim verlieren des Focus eines Controls sofort beim Client ausgewertet wird ohne, dass das Formular geposted wird. Die Required Klasse implementiert nämlich das IClientValidatable nicht. Jetzt wundere ich mich warum es dort trotzdem Clientmäßig sofort funktioniert.

Ist eine Client Seite Validierung per JS nach dem oben genannten Tutorial nicht mehr Zeitgemäß und wie kann ich beim Client bestimmen, wann meine Validierung ausgeführt wird (lostfocus von input, oder beim onclick, usw)?

Lg

30.08.2012 - 09:52 Uhr

Hallo,

die Metro Apps mögen zwar eine tolle Idee für Touch-Geräte sein, aber für ein Desktopsystem doch etwas unpraktisch.

Mir gefällt die Strikte Trennung zwischen Metro und Desktop nicht.

Meiner Meinung hätte, MS den Desktophintergrund Interaktiv gestalten sollen, also dass quasi dieser die Metro APPS beherbergt. Desktopfesnter können also "über" der Metrooberfläche verwendet werden.

Meint ihr kann man da mit einem API Aufruf die Taskleiste in die Metrooberfläche einblenden?

Wenn man darüber auch noch irgendwie Desktopfenster anzeigen könnte wäre das ein Traum!

19.12.2011 - 16:33 Uhr

Hallo,

da des öfteren während dem Programmieren diverse Pizzas verbrannt sind, habe ich ein Erinnerungsprogramm geschrieben. Vlt. kann es jemand brauchen 😃.

Download: Coffee Clock

27.07.2010 - 23:10 Uhr

Hallo,

die angehängte Version kann ein Backup von einem Verzeichnis erstellen und auf ein ftp Verzeichnis laden.

Um ein Backup ein zu richten müsst ihr die Datei C:\ProgramData\Get\FileSyncService\FileSyncServiceSettings.xml bearbeiten. Anbei ein Beispiel:

<?xml version="1.0" encoding="utf-8"?>
<FileSyncServiceSettings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <SyncTaskList>
    <SyncTaskList>
      <Assembly>C:\Program Files\Get\FileSyncService\Plugins\FileSync.Plugin.FTP.dll</Assembly>
      <DirectoryToSync>ftp://get.net/</DirectoryToSync>
      <DirectorySource>C:\Users\martin\Desktop\backup</DirectorySource>
			<ExcludedFiles>
        <ExcludedFiles>C:\Users\martin\Desktop\backup\bin\.svn</ExcludedFiles>
        <ExcludedFiles>C:\Users\martin\Desktop\backup\bin\.svn\all-wcprops</ExcludedFiles>
        <ExcludedFiles>C:\Users\martin\Desktop\backup\bin\.svn\entries</ExcludedFiles>
        <ExcludedFiles>C:\Users\martin\Desktop\backup\bin\.svn\format</ExcludedFiles>
        <ExcludedFiles>C:\Users\martin\Desktop\backup\bin\.svn\prop-base</ExcludedFiles>
        <ExcludedFiles>C:\Users\martin\Desktop\backup\bin\.svn\prop-base\index.php.svn-base</ExcludedFiles>
        <ExcludedFiles>C:\Users\martin\Desktop\backup\bin\.svn\props</ExcludedFiles>
        <ExcludedFiles>C:\Users\martin\Desktop\backup\bin\.svn\text-base</ExcludedFiles>
        <ExcludedFiles>C:\Users\martin\Desktop\backup\bin\.svn\text-base\admin.php.svn-base</ExcludedFiles>
        <ExcludedFiles>C:\Users\martin\Desktop\backup\bin\.svn\text-base\index.php.svn-base</ExcludedFiles>
        <ExcludedFiles>C:\Users\martin\Desktop\backup\bin\.svn\tmp</ExcludedFiles>
        <ExcludedFiles>C:\Users\martin\Desktop\backup\bin\.svn\tmp\prop-base</ExcludedFiles>
        <ExcludedFiles>C:\Users\martin\Desktop\backup\bin\.svn\tmp\props</ExcludedFiles>
        <ExcludedFiles>C:\Users\martin\Desktop\backup\bin\.svn\tmp\text-base</ExcludedFiles>
      </ExcludedFiles>
      <UserName>martin</UserName>
      <Password>test</Password>
      <Tag>True</Tag>
      <Topic>ftp test</Topic>
    </SyncTaskList>
  </SyncTaskList>
  <RefreshInterval>00:00:00</RefreshInterval>
</FileSyncServiceSettings>

Alle Dateien die in ExcludedFiles eingetragen sind werden nicht in das ftp Verzeichnis hochgeladen. Die GUI wurde aus dem Setup entfernt.

Die Log Datei ist in C:\ProgramData\Get\FileSyncService\FileSyncServiceSettings.log gespeichert.

Leider kann ich das Setup nicht anhängen da ich die 250KB überschreite.
Deshalb hier der Link zum Setup http://get-the-solution.net/media/file/10.07.27-FileSync.Setup.zip
Über Fehler, Tipps freue ich mich.

Bitte richtet zuerst einen TestOrdner oder eine Testhomepage ein bevor ihr den FileSyncService ausprobiert. Für schäden übernehme ich keine Haftung.

26.07.2010 - 00:18 Uhr

Ich glaube das SkippedChange oder SkippedFileDetect ist das was du suchst.

FileSyncProvider-Member