Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von [email protected]
Thema: [solved] ASP.NET MVC - IoC und DI mit Castle windsor
Am im Forum: Web-Technologien

Hi...

"TempData" wäre eigentlich dafür gedacht Daten von einem Conroller-Aufruf zum nächsten zu "übergeben".

Um Daten aus dem Controller in das View zu bekommen gibt's "ViewBag" oder "ViewData".

Hier ist ein erklärender Artikel dazu:
http://www.codeproject.com/Articles/476967/WhatplusisplusViewData-2cplusViewBagplusandplusTem

Am Besten wäre es allerdings wenn du überhaupt mit ViewModels arbeiten würdest. Dann würdest du statt des Controllers einfach nur das ViewModel an dein IAddMessage-Objekt übergeben und dann an das View. Vorteil wäre auch dass du ordentlich testen könntest.

lg

Thema: WebAPI Problem
Am im Forum: Web-Technologien

Hi...

Zitat
Du kannst mit ajax nur auf genau die selbe Website zugreifen
Zitat
Da führt kein Weg dran vorbei

Das ist so nicht ganz korrekt.
Zumindest wenn man beide Seiten (Webseite und WebAPI) unter Kontrolle hat.

Stichwort:

CORS (Cross-Origin-Resource-Sharing)

bzw.

Access-Control-Allow-Origin, Access-Control-Allow-Credentials, JSONP

lg

Thema: DbContext bei Multi-User Anwendung gibt veraltete Daten wieder
Am im Forum: Datentechnologien

@DanielK

"UnitOfWork" aus deinem Code-Schnippsl wäre genau das richtige Stichwort.

Da ihr den DbContext aber beim Start instanziert und weiterverwendet, hat der Einsatz des Begriffs im Code wohl nur eine symbolische Bedeutung... ;)

lg

Thema: DbContext bei Multi-User Anwendung gibt veraltete Daten wieder
Am im Forum: Datentechnologien

Hi...

Wann bzw. wie instanzierst du den DbContext?

Wenn der DbContext beim Starten instanziert und bis zum Schließen der Anwendung weiterverwendet wird könnte dabei dieses Verhalten rauskommen.

lg

Thema: Windows Explorer: Elementeninformationen (z.B. Filmtitel, Release, Hauptbesetzung, Qualität) ändern
Am im Forum: Rund um die Programmierung

Hi...

seit Windows Vista wird das aber nicht mehr unterstütz.

Explorer column handler shell extension in C# > Re: Windows 7 and shell extensions with managed code

lg

Thema: Entity Framework Code First: FOREIGN KEY constraint may cause cycles or multiple cascade paths
Am im Forum: Datentechnologien

Hallo Steffo,

den Fehler den du bei "Update-Database" bekommst liefert nicht das Entity Framework sondern die Datenbank (SQL-Server nehm ich an).

Und der Grund dafür steht eigentlich in diesem Fehler.
Dem Entity Framework die Schuld dafür zu geben ist daher nicht angebracht.

Zitat
etwas, dass in SQL total leicht umzusetzen ist
Das ist auch mit SQL nicht total leicht umzusetzen.
=> "may cause cycles or multiple cascade paths"

Thema: ASP.NET TextBox Value von Bootstrap Modal
Am im Forum: Web-Technologien

Hi...

hast du mal mit Firebug/F12,... ("Netzwerktab") geprüft ob und wie die Daten an den Server gesendet werden?

lg

Thema: Web.Debug.config oder Web.config - wohin kommt <connectionStrings>?
Am im Forum: Datentechnologien

Schau dir das mal...

Gewusst wie: Transformieren von "Web.config" beim Bereitstellen eines Webanwendungsprojekts

Thema: EF - Code First: Wie Beziehungen abbilden?
Am im Forum: Datentechnologien

Hallo,

das passt schon, das EF arbeitet so.

Aus


class User
{
    public int UserId { get; set; }
    public string Username{ get; set; }
    public virtual ICollection<Right> Rights { get; set; }
}

class Right
{
    public int RightId { get; set; }
    public string Name { get; set; }
    public virtual ICollection<User> { get; set; }
}


wird dann in der Datenbank (siehe Anhang)

Thema: EF - Code First: Wie Beziehungen abbilden?
Am im Forum: Datentechnologien

Hi...

so wie du die CodeFirst-Klassen aufgebaut hast ergibt sich zwischen User und Right ein 1:n Beziehung.
Du willst aber eine n:m Beziehung. Also musst du diese auch angeben.

public int RightId { get; set; }
public string Name { get; set; }
public string Category { get; set; }
public virtual ICollection<User> { get; set; } 

public int UserId { get; set; }
public string Username{ get; set; }
public string Password{ get; set; }
public DateTime LastLogin{ get; set; }
public virtual ICollection<Group> Groups{ get; set; }
public virtual ICollection<Right> Rights{ get; set; } 

Edit:
Das Ganze natürlich auch bei Group <=> Right...

Thema: ASP.NET Session beenden beim schließen des Browsers
Am im Forum: Web-Technologien

Hi...

Zitat
Wenn Du im Chat aber WebSocket verwendest, dann ist das möglich.
Bei SignalR und ASP.NET MVC kann man den Disconnect-Event im Hub abfangen.

Hab mich mit SignalR das ganze Wochenende rumgeärgert,
deswegen hier 2 Punkte dazu...

Bei Websockets/Signalr bzw. im Signalr-Hub kann man zwar das Disconnected-Event abfangen und verarbeiten (wie auch das Connected/Reconnected-Event).
Verwendet man Websockets mit einer "normalen" (Nicht-SinglePage-Application) wird das Disconnected-Event aber bei jedem Seitenwechsel gefeuert (in Kombination mit dem Reconnected-Event).

Zusätzlich kommt noch hinzu dass man aus einem Signalr-Hub keinen Zugriff auf Asp.net - Sessions hat. Es ist also etwas schwierig durch das Disconnected-Event die Session zu "beenden".

lg

Thema: [gelöst] FileZilla starten, zu Server verbinden und Verzeichnis wechseln
Am im Forum: Rund um die Programmierung

Hallo Der_Ritter,

ich bin mir nicht sicher ob oder wie man Filezilla auf diese Weise "fernsteuern" kann.

Eventuell kommst du mit WinSCP schneller und einfacher ans Ziel.
Dafür gibt es nämlich eine .net API.

http://winscp.net/eng/docs/library

lg

Thema: Visual Studio 2010 oder Visual Studio 2012: Was eignet sich besser für Einsteiger?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hi...

2010 vs 2012 ist nicht "BMW" vs "Mercedes" ... ist ja das selbe Produkt nur eine andere Version. Also eher... "BMW Modell 2010" vs "BMW Modell 2012".

Wenn Du Dich "frei" entscheiden kannst, also weil du die Express-Version nimmst oder bei Kaufversionen der Preis keine Rolle spielt, würd ich gleich VS2012 wählen.

Und wenn du vor hast mit .net 4.5 Funktionen zu arbeiten ist sowieso das VS2012 notwendig.

lg

Thema: ASP.NET Web-Api + 2 Parameter in Post
Am im Forum: Web-Technologien

Schau dir mal HttpClient.PostAsJsonAsync in der MSDN-Lib an...


http://msdn.microsoft.com/en-us/library/hh944521(v=vs.108).aspx

Thema: Kann ich VS2012 mit Hosting-Provider verbinden?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hi...

ja das geht.

Datei => Öffnen => Website

bzw.

Datei => Neu => Website


lg

Thema: Ordner eines Projekts aus Visualstudio als Nuget-Package exportieren
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

[IDE: Visual Studio 2012]

Hi...

Gibt es eine Möglichkeit (VS-Extension, Nuget-Tools,...) im Visualstudio einen Ordner als Nuget-Package zu exportieren? Im Ordner wären nur JS, CSS und Grafik-Dateien.

Ich würde das benötigen um einzelne Themes eines CMS-Projekts direkt aus dem VS in Nuget-Packages zu "exportieren". Also ohne Umwege über die Kommandozeile.

Thema: INotifyPropertyChanged für Textblock updatet nichts
Am im Forum: GUI: WPF und XAML

Hi...

Ist die Instanz der Klasse "Test" auch DataContext von MainWindow?

Wir setzt du das?

lg
[email protected]

Thema: ASP.NET MVC 4 - Aufruf einer neuen Seite mit Post Paramter
Am im Forum: Web-Technologien

Hi...

Könntest Du bitte etwas genauer erklären was du eigentlich vor hast? Ich hab deinen Post jetzt 4mal durchgelesen und ich komm einfach nicht drauf was das werden soll. Deine 3 Code-Schnippsel haben genau nichts miteinander zu tun und helfen auch zum Verständnis nicht.

lg

Thema: VS2012 Addon zur Breakpoint-Verwaltung gesucht
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hi Abt,

meinst du "conditional breakpoints" bzw. könntest du dein Vorhaben eventuell damit lösen?

Conditional breakpoints in Visual Studio

lg

Thema: Vorschau im Designer mit Testdaten
Am im Forum: GUI: WPF und XAML

Hi...

ja sowas geht.

Such mal in Google nach "wpf + mock + data"

da gibt's einige Suchergebnisse dazu...

lg

Thema: EntityFramework 5 - komplexe Queries
Am im Forum: Datentechnologien

Hi...

ja ich hab dazu eine Idee. ;)

Die Queries gehen ja alle an den SQL-Server oder eine andere unterstützte relationale Datenbank.

Aus diesem Grund müssen alle Expressions irgendwie in einen puren SQL-Query "übersetzt" werden. Diesen könnte man dann z.b. mit dem Management-Studio auch direkt am SQL-Server ausführen.

Wie sollte nun "Query(e => e.User == CurrentUser);" in einen validen SQL-Query umgewandelt werden?

Thema: Eigene Klassen zentral verwalten (und versionieren)?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hi...

wenn die Komponente (Klasse) als dll ausgeliefert werden soll und das vielleicht sogar in einigen komplett unabhängigen Projekten würde sich ein lokales Nuget-Repository anbieten.

Damit könnte die Komponente komfortabel in jedes Projekt integriert werden (inklusive Verweise,...) und Update-Funktionen gibt's auch noch dazu.

lg

Thema: Android oder WP? Was ist bei der Wahl der Plattform zu beachten?
Am im Forum: Smalltalk

Hi...

ich hab auch seit ca. 6 Monaten ein Lumia 920.

Bin absolut zufrieden damit und würd es nicht tauschen wollen,
außer vielleicht gegen den Nachfolger... ;)

Das höhere Gewicht ist sicher für einige ein Nachteil, für mich wirkt es aber dadurch um einiges "wertiger".

@michlG: Deine "Probleme" mit der Whatsapp-App liegen aber vermutlich nicht am WP8 sondern an einer nicht optimal programmierten App...

Thema: Für Read-Performance statt FK-Referenz auf "Sub"-Table Daten in Spalte serialisieren?
Am im Forum: Datentechnologien

Hi...

vielen Dank für die Antworten,

die 100 Artikel waren eigentlich nur beispielhaft,
es könnten auch 200, 500, oder 2000 sein, was natürlich das Ergebnis noch extremer aufbläht.

Ich benötige _alle_ Daten weil mit dem Ergebnis bzw. den darin enthaltenen SubDaten weitere Operationen gestartet werden.

Ich glaube aber dass es nicht unbedingt direkt mit dem EF zusammenhängt. Der Select der an den SQL-Server gesendet wird verursacht dort teilweise einen SUSPENDED Status, also geh ich mal davon aus, dass der Query nicht "optimal" ist.

Ich hab schon teilweise versucht Teile der SubDaten über einen eigenen Query zu laden und diese dann in einer Schleife zuzuweisen.
Das hat die Performance etwas verbessert und die SUSPENDED-Stati am SQL-Server etwas reduziert. Nur finde ich das nicht ganz sauber.


Vielleicht werde ich aber mal probieren diese Abfragen direkt mit ADO.net zu machen ohne dem ganzen ORM-Zeugs. Wenns Abhilfe schafft perfekt, wenn nicht muss ich mir was anderes einfallen lassen.... :(

Thema: Für Read-Performance statt FK-Referenz auf "Sub"-Table Daten in Spalte serialisieren?
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: MSSQL 2008 r2

Hi...

ich hab ein Performance-Problem bei einem Legacy-System (Webapplication)

Es sind hier Daten tief "verschachtelt" und diese müssten extrem performant aus der DB geladen werden.

Struktur:

Artikel
Artikel-Features
Artikel-Beschreibungen
Artikel-Bilder => Datei
Artikel-Dateien => Datei
Artikel-Eigenschaften

Es wird das EF 5 mit CodeFirst verwendet.

Wenn nun viele Artikel mit allen Subdaten geladen werden sollen kommt da eine enorme Datenmenge zusammen...

Soviel ich vom generierten SQL-Statement des EF rauslesen konnte würde bei 100 Artikeln mit jeweils 5 Datensätze in jedem Sub-Table durch das EF (durch "Include(x).Include(y).Include(z)...")

100 * 5 * 5 * 5 * 5 * 5 = 312500

Datenzeilen geladen werden.

Noch schlimmer wenn mehr Subdaten enthalten wären...

Layzyloading ist leider keine Option weil die Daten alle sofort zur Verfügung stehen müssen.

Rein von der Datenstruktur her wäre natürlich eine noSQL-Datenbank wie z.b. RavenDB oder MongoDb dafür perfekt geeignet, aber der "Umbau" des Systems würde momentan viel zu lange dauern.


Ich hab mir nun überlegt ob es nicht möglich wäre die einzelnen Sub-Daten in zusätzliche Spalten zu serialisieren und nach dem Laden aus der Datenbank zu deserialisieren und die Objekte in die entsprechenden Listen zu hängen.

Wäre das eine gute Idee? Gibt's andere Best Practices um solche Strukturen besser, schneller aus der DB zu laden?

Thx

Thema: 2 ASP.NET Projekt im gleichen Root
Am im Forum: Web-Technologien

Hi...

ich kann mir nicht vorstellen, dass man 2 unterschiedliche Web-Projekte in einem "Verzeichnis" hosten kann.

Es gibt ja z.B. nur eine web.config und eine "Default"-Seite (Startseite).

Du müsstest jedes Projekt in ein Unterverzeichnis geben und dieses zu einer WebApplication machen.

Zitat
Geplant ist eben, dass ich im gleichen Root 2 Webanwendungen betreiben möchte die sich einige Ordner zusammen teilen.

Wichtig ist für mich nur, dass es 2 getrennte Projekte/Anwendungen bleiben.
Wenn sie sich einige Ordner teilen sind sie nicht "getrennt"...

Thema: B-Baum Indexstruktur erstellen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hi...

ich frag mich grade wie du ein virtuelles Filesystem in dem es (nehm ich mal an) beliebig viele Unterverzeichnisse und Dateien geben kann/soll mit einem Binär-Baum realisieren willst.

Jeder Knoten in einem Binär-Baum hat ja maximal 2 Unterknoten.

lg

Thema: wie bei MVC angeforderte Url vor dem Prüfen auf Existenz und passender Routen ändern
Am im Forum: Web-Technologien

Hallo Abt,

naja, Hintergrund ist dass ich durch das "Prefix" eine Art Mandant identifizieren und behandeln muss. Einfacher gings natürlich über eine Subdomain aber wegen der Suchmaschinen-Optimierung hab ich die Vorgabe über den "Pfad".

Ich habs aber mittlerweile geschaft.
Ich kann die Url in der global.asax in der Application_BeginRequest-Methode so ändern das es passt.

Und zwar nehm ich da die Request.RawUrl, verändere sie und setz sie mit Context.RewriteUrl neu.

Funktioniert soweit wie ich mir das vorstelle.

lg

Thema: wie bei MVC angeforderte Url vor dem Prüfen auf Existenz und passender Routen ändern
Am im Forum: Web-Technologien

Hi...

ich hab Urls in der folgenden Form:

http://www.domain.de/images/200-300-12345.png
http://www.domain.de/news/23454.htm
http://www.domain.de/categoryxy/superartikel-23425.htm

Dafür gibt's es definierte Routen.

Bei den Images ist es so, dass die ersten beiden Werte die Breit und Höhe angeben und das Original auf diese Größe skaliert und so im Filesystem abgelegt wird. Da diese Url dann "physisch existiert" wird die Datei direkt ausgeliefert.

Soweit so gut...

Es ist nun allerdings notwendig dass jede Url einen "Prefix" erhält.
Die Urls haben dann folgende Form:

http://www.domain.de/xyz/images/200-300-12345.png
http://www.domain.de/xyz/news/23454.htm
http://www.domain.de/xyz/categoryxy/superartikel-23425.htm
http://www.domain.de/xyz/foo/bar/images/200-300-12345.png
http://www.domain.de/xyz/foo/bar/news/23454.htm
http://www.domain.de/xyz/foo/bar/categoryxy/superartikel-23425.htm

Das Prefix enthält entweder einen "Ordner" oder drei, die Benennung ist aber variabel.
Ich könnte nun für jede "Version" eigene Routen definieren.
Das wären dann aber relativ viele Routen, wo ich nicht weiß wie sich das auf die Performance auswirkt und bei den Bildern müsste ich immer eigene Ordner anlegen, damit diese direkt ausgeliefert werden können.

Viel "besser" wäre es meiner Meinung nach wenn es eine Möglichkeit gebe dieses Prefix zu entfernen bevor der Check auf eine "physische Existenz" bzw. eine passende Route passiert. Damit könnte ich die Image-Ordner und die zusätzlichen Routen sparen.

Wie bzw. wo könnte ich die Url "ändern". Ob und was ich aus der Url entfernen muss erfahre ich aus der Datenbank. Ich brauche also zu dem Zeitpunkt schon eine Datenbank-Verbindung.


lg
[email protected]

Thema: Generic Repository
Am im Forum: Datentechnologien

Hi...

das sind absolute Grundlagen.

Vor allem hast Du die Fehlermeldung und damit eigentlich ja auch schon die Lösung...


Ganz kurz (bevor der Thread gleich "closed" ist)...

Im "weiteren Projekt" sind die Entity-Framework - Assemblies nicht referenziert.
Sagt auch die Fehlermeldung...


lg