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 Ahrimaan
Thema: XML: CDDATA nach Scripten durchsuchen
Am im Forum: Datentechnologien

Genau das ist das Problem, da kann alles drin sein :-(
Ich möchte nur verhindern, dass da Blödsinn drin steht ...
Ich fürchte ich komme nicht drum rum, das ganze gegen einen Virenscanner zu schicken, der mir sagt "Jop alles ok"

Grüße

Thema: XML: CDDATA nach Scripten durchsuchen
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: XML

Hallo zusammen,
ich habe die Herausforderung, dass ich bei einer SOAP Nachricht prüfen muss ob in einem CDATA Element evtl. schadcode und scripte entahlten sind.
Schadcode kriege ich sicher so nicht raus aber Scripte evtl.

hat jmd eine Idee oder eine fertige Lib, die das erledigen kann ?

Grüße

Thema: [Erledigt] XML Validierung gegen XSD
Am im Forum: Datentechnologien

Hallo,
ok, das Flag war es tatsächlich.
Wenn ich noch die Soap xsds mit in den SchemaCache lade, stolpert er tatsächlich nur über das
SCHADCODE Tag so wie es sein sollte :)

Grüße

Thema: [Erledigt] XML Validierung gegen XSD
Am im Forum: Datentechnologien

Hallo,

er springt nicht in den Eventhandler rein.
Sobald ich das Warning Flag setze, fliegt er mir schon bei soap:Envelope raus, da er sagt dafür gibt es kein Schema (logisch ist ja ein SoapHeader).
Beim Tag SCHADCOE setzt er aber auch aus.
Ist jetzt die Frage ob ich Händisch noch ein SOAP Schema mit hinzufüge was valide ist also body und header mit aufnehme

Grüße

Thema: [Erledigt] XML Validierung gegen XSD
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: XML/XSD

Hallo zusammen,

ich habe eine SoapExtension geschrieben, welche die SOAP Nachricht gegen eine XSD prüft und validiert:

		public override void ProcessMessage(SoapMessage message)
		{
			switch (message.Stage)
			{
					case SoapMessageStage.BeforeDeserialize:
						if (!ValidateAgainstSchema(message.Stream))
						{
							throw new SoapException("Message could not be validated against Schema", new XmlQualifiedName("ValidationError"));
						}
					message.Stream.Position = 0;
					break;
			}
		}
		private bool ValidateAgainstSchema(Stream s)
		{
			bool validationResult = true;
			var settings = new XmlReaderSettings { ValidationType = ValidationType.Schema };
			settings.ValidationEventHandler += (o, e) => { validationResult = false; };			
			try
			{
				settings.Schemas.Add(null, AppDomain.CurrentDomain.BaseDirectory + _xsdFile);
				using (XmlReader validatingReader = XmlReader.Create(s, settings))
				{
					while (validatingReader.Read())
					{
						//Do nothing just read
					}
				}
			}
			catch (Exception)
			{
				validationResult = false;
			}
			return validationResult;
		}

Dazu sende ich einfach folgende NAchricht :
   <soapenv:Header>
      <upl:AuthenticationHeader>
         <upl:Username></upl:Username>
      </upl:AuthenticationHeader>
   </soapenv:Header>
   <soapenv:Body>
      <upl:LoginUser>
         <upl:version>1.0.0</upl:version>
      </upl:LoginUser>
      <SCHADCODE>DAS SOLLTE KRACHEN GEHEN</SCHADCODE>
   </soapenv:Body>

Ind er XSD sind alle Elemente definiert, ausser das Tag SCHADCODE
Leider sagt die Validierung dass alles ok ist, obwohl der Tag SCHADCODE gar nicht vorkommen darf ....
mache ich was falsch ?

Thema: Undo/Redo mit MVVM
Am im Forum: GUI: WPF und XAML

Niemand hat gesagt, dass es einfach ist ;-)
Aber du hast recht, als Addon zu einem bestehendem Produkt fast nicht zu realisieren...
Ob es sich bei dem vorhandenen Frameworks lohnt, was eigenes zu machen sei dahingestellt..

Thema: Undo/Redo mit MVVM
Am im Forum: GUI: WPF und XAML

Hey zusammen,

also die Musterlösung von damals finde ich nicht mehr, der alte Source liegt bei meiner alten Firma und die mag mich seit meinem Weggang nicht mehr ;-)
Mein Kollege und ich haben gestern Ideen gesammelt und werden uns an die Umsetzung machen und dann hier als Snippet veröffentlichen.

Wir werden folgenden Ansatz verfolgen :
Eine Klasse (entweder als Basisklasse mit INotify oder Statisch entscheidet sich noch) welche durch Reflection alle Objekte sich schnappt als State speichert.
Da wir das ganze nicht aufblähen wollen, soll im Konstruktor eine maximale anzahl an States pro Objekt angegeben werden. Beim überschreiten wird der erste Stand überschrieben.
Das State wird ein serialisierter String oder ähnliches, damit der Vergleich einfacher ist.

Wenn Ihr noch anmerkungen habt, immer her damit

Stay tuned ;-)

Thema: Undo/Redo mit MVVM
Am im Forum: GUI: WPF und XAML

Zitat von MrSparkle
Was verstehst du übrigens unter "per Reflection Monitored"? Eine ständige Überwachung der aktuellen Zustände der ViewModels?

Christian

Eine ständige Überwachung wäre im MVVM evtl. übertrieben.
Das PropertyChanged reicht aus, um sich Werte zu merken.
Reflection würde ich nur nutzen, damit ich nicht jede Property händisch angeben muss.
Wobei ein Ansatz wo ich im Konstruktor angebe, welche Properties/Variablen überwacht werden sollen sicher auch nicht schlecht wäre ;-)

Thema: Undo/Redo mit MVVM
Am im Forum: GUI: WPF und XAML

Evtl. stelle ich mir das zu einfach vor aber :

Ein Interface/Basisklasse welche jeder seiner Propertyes privates etc. per Reflection Monitored:

Beispiel:

Es wird ein Command abgeschickt . Dieses löst wiederrum ein Event aus der Basisklasse aus "merkezustand"
Dann läuft eine Methode alle Properties durch und "merkt" sich den Zustand im Speicher und einem Statecounter und evtl. weitere Infos.

Hmm da müsste man sich mal Gedanken machen.... Wir hatten bei uns einen ähnlichen Ansatz verfolgt, ich schaue mal morgen Abend in den alten Code.

P.S. Undo/Redo Applikationsweit oder "Fensterweit" ?

Thema: [erledigt] EF5 Code First Migrations: Datenhaltung bei Update des Schemas
Am im Forum: Datentechnologien

Jop so habe ich es auch gemacht: per exterenm Prozess .... bleibt dir wohl keine andere Wahl :-(

Thema: [erledigt] EF5 Code First Migrations: Datenhaltung bei Update des Schemas
Am im Forum: Datentechnologien

Was natürlich auch möglich wäre:
EF 4.3 Automatic Migrations Walkthrough

Im Up einfach neue Spalten anfügen zB

Aber dafür MUSS ein Model bereits exisitiert haben, ansonsten bleibt wohl nur die zu Fuß Methode

Thema: [erledigt] EF5 Code First Migrations: Datenhaltung bei Update des Schemas
Am im Forum: Datentechnologien

Ja, der Context bietet da eine Menge wenn sich zB im Ursprünglichen Model was ändert. Ich sehe dieses ganzen Features aber etwa so : Ja wir haben was um kleine Änderungen zu kompensieren, komplexe Sachen bitte zu Fuß.

Ich denke, der weg den du beschreiten willst mit deinen 4 Schritten wird die einzige Lösung sein... wir können nur hoffen, das MS mit EF 6 weiter sein wird ;-)

Thema: [erledigt] EF5 Code First Migrations: Datenhaltung bei Update des Schemas
Am im Forum: Datentechnologien

Hi,

den DatenbankContext habe ich in dem sinne nur erweitert, dass ich ne kleine UpdaterAnwendung implementiere. Dieses ist aber "extern" und wird über das Setup aufgerufen. (App startet prüft Version und bei "alter" Version der DB wird der Updater aufgerufen. )
Ich denke, bei einer so komplexen Migration, welche du anscheinend auch hast, wirst du um eine Art "manuelles tranferprogramm" nicht drum rum kommen.

Aber : Ein Updater ist ja auch nicht die schlechteste Lösung ;-)

Grüße

Thema: [erledigt] EF5 Code First Migrations: Datenhaltung bei Update des Schemas
Am im Forum: Datentechnologien

Hi Abt,
vor dem selben problem stand ich erst letzten Monat :
Eine Anwendung auf EF 4.1 Code First hieven und Daten übernehmen aber properties teiweilse ändern.

Ich habe keine Best Practise Lösung bin aber wie folgt vorgegangen : Per EF Code First die Alte Datenstruktur abgebildet und die neue erstellt.
Dann habe ich einen Mapper geschrieben, welcher mir von alt auf neu mappt.

Dann ging es los : beim Initialisieren des DB Context wird gepürft ob die Version der DB aktuell ist. Wenn nicht spult sich folgendes programm ab:

Holle alle Altdaten -> erstelle die neue DB Struktur -> Mappe Alt auf neu -> Schreibe in DB

Nicht der schönste Weg aber immer einer :D

Grüße

Thema: Wer wird Europameister 2012? (Auswahl unter den Teilnehmern der Gruppenphase)
Am im Forum: Smalltalk

Zitat von aequitas
Zitat von talla
Wieso schreibst du dann überhaupt hier?
E fehlt meiner Meinung nach eine "ist mir egal / ich habe dazu keine Meinung"-Auswahlmoeglichkeit.

Die fehlt nicht, die liegt einfach bei dir : Wenns dich nicht interessiert, stimm einfach nicht ab !

Thema: Spielerbewegung auf Server gegenchecken
Am im Forum: Netzwerktechnologien

Als Tipp:
Schau dir mal Dawn of Light an, ein Dark Age of camelot Server in C# geschrieben.
Da solltest du alles finden um zu sehen wie man Cheaten verhindern/entdecken kann

Thema: Welche Fachzeitschrift(en) lest ihr oder habt ihr abonniert
Am im Forum: Smalltalk

Die Dotnetpro abonniert

Thema: Lokales Caching : Suche Lösungswege
Am im Forum: Web-Technologien

Zitat von FZelle
Zitat
Also muss es einen Mechanismus geben, welcher die HTML Seite erzeugt ..
Dann solltest Du evtl mal überlegen wie man das Ohne Magie hin bekommt.

Tja genau daran scheiter ich gerade ;-)
Evtl. eine leere HTMl Webseite mit JQuery,welcher sich aus einem lokalem verzeichnis seinen Content holt.

Thema: Lokales Caching : Suche Lösungswege
Am im Forum: Web-Technologien

Naja,
es soll auf Displays Content angezeigt werden (Bilder Videos Slideshows)
Diese werden eigtl. von einem Webserver ausgeliefert werden.
Wunsch ist es, wenn der Server nicht erreichbar ist, dass lokaler content genutzt wird.

Auch beim erstmaligem Aufruf, soll Content angezeigt werden. Also muss es einen Mechanismus geben, welcher die HTML Seite erzeugt ..

Thema: Lokales Caching : Suche Lösungswege
Am im Forum: Web-Technologien

Also lohnt es sich eher, einen Windows Client zu bauen, welcher die gewünschte Funktionalität hat ?

Thema: Lokales Caching : Suche Lösungswege
Am im Forum: Web-Technologien

Hallo zusammen,
ich stehe gerade ein wenig Ideenlos hier:

Wir haben eine Webanwendung in ASP.NET MVC geplant.
Es wird Inhalt angezeigt und per WCF ausgeliefert.

Folgendes Szenario :
Es wird eine lokale HTML Datei aufgerufen, welche per WCF prüft ob der Server vorhanden ist. Sollte der Serve nicht da sein, wird aus dem lokalem Cache inhalt aufgerufen.
Wenn der Server da ist, wird der Inhalt aus dem Server geholt.

Ist sowas prinzipiell möglich ? Und wenn ja, wie könnte man das realisieren ?

Grüße

Thema: Freier Silverlight-Klon Moonlight eingestellt
Am im Forum: Szenenews

Zitat von FZelle
Da hat MS mit LightSwitch eine Entwicklungsumgebung herausgebracht die im Enterprise Umfeld Access ersetzen soll, Windowsphone setzt auf SL und da behaupten immer noch welche SL wird nicht weiterentwickelt?
Und wie erfolgreich ist Windows Phone ? ;-)
Kein Argument um nicht SL einzustellen ;-)

Thema: fluentNhibernate : ManyToMany klappt nicht ...
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: <MySql>

Hallo zusammen,

ich habe ein zwei Mappings von 2 Klassen :

public RAETaskMapping()
        {
            Table("RAE_Task");
            Id(p => p.ID,"Task_ID");
            Map(p => p.Closed,"Closed");
            References(p => p.ClosedBy,"FK_Employeeid_ClosedBy").Not.LazyLoad();
            Map(p => p.ClosedDate);
            Map(p => p.CreateDate);
            Map(p => p.ExtendedInfo);
            References(p => p.CreatedFrom, "FK_Employeeid_CreatedFrom").Not.LazyLoad();
            References(p => p.Employee, "FK_Employeeid_Employee").Cascade.All().Not.LazyLoad();
            HasManyToMany(p => p.NextRevisor).Cascade.All().ChildKeyColumn("Employee_ID").ParentKeyColumn("Task_ID").Not.LazyLoad();
            Map(p => p.Name).Not.Nullable();
            Map(p => p.Comment);
        }

 public EmployeeMapping()
        {
            Table("Employee");
            Id(p => p.ID, "Employee_ID");
            Map(p => p.Forename);
            Map(p => p.Surname);
            Map(p => p.Username);
            Map(p => p.PersonalNummer);
            Map(p => p.PasswordHash);
            Map(p => p.PasswordSalt);
            References(p => p.Group,"FK_GroupId");
            HasMany(p => p.Tasks).KeyColumn("FK_Employeeid_Employee").Cascade.SaveUpdate().Not.LazyLoad();
            HasManyToMany(p => p.AssignedTo).ChildKeyColumn("Task_ID").ParentKeyColumn("Employee_ID").Not.LazyLoad();
            Map(p => p.Email);
        }

Und die beiden Klassen dazu :

    [Serializable]
    public class RAETask
    {
        public virtual int ID { get; set; }
        public virtual string Name { get; set; }
        public virtual bool Closed { get; set; }
        public virtual DateTime CreateDate { get; set; }
        public virtual Employee CreatedFrom { get; set; }
        public virtual DateTime? ClosedDate { get; set; }
        public virtual Employee ClosedBy { get; set; }
        public virtual Employee Employee { get; set; }
        public virtual IList<Employee> NextRevisor { get; set; }
        public virtual string ExtendedInfo { get; set; }
        public virtual string Comment { get; set; }

        public virtual bool Equals(object obj)
        {
            return Equals(this, (RAETask) obj);
        }
        protected virtual bool Equals(RAETask x ,RAETask y)
        {
            return x.ID == y.ID && y.Name == x.Name;
        }
    }

    [Serializable]
    public class Employee
    {
        public virtual int ID { get; set; }
        public virtual string Forename { get; set; }
        public virtual string Surname { get; set; }
        public virtual EmployeeGroup Group { get; set; }
        public virtual string Username { get; set; }
        public virtual string Email { get; set; }
        public virtual string PersonalNummer { get; set; }
        public virtual IList<RAETask> Tasks { get; set; }
        public virtual IList<RAETask> AssignedTo { get; set; } 
        public virtual string PasswordHash { get; set; }
        public virtual string PasswordSalt { get; set; }
    }

Im Speziellem gehts mir ind er Klasse RAETask um die Property NextRevisor.
Egal wie ich mich anstelle : In der ForeignKeyTabelle landet kein Datensatz. Beim Debuggen sind in der Collection Werte enthalten, sobald ich aber speichere kommt nix bei der Datenbank an.

Jmd ne Idee ?

Thema: StackPanel Visibility bei DataBinding
Am im Forum: GUI: WPF und XAML

Ahhh Ahh ..

Sorry manchmal könnte ich mich für meine eigene Dummheit schlagen :

Man sollte die Property und die SubProperty auch angeben

<StackPanel Visibility="{Binding IsVisible,Converter={StaticResource BooleanToVisiblityConverter}}"  Orientation="Vertical" Grid.Row="1">
            <TextBlock Text="{Binding CurrentItem.Name}"/>
            <Label Content="Bitte geben Sie einen Text ein"/>
            <TextBox TextWrapping="Wrap" VerticalScrollBarVisibility="Auto" AcceptsReturn="True" Text="{Binding CurrentItem.Comment,UpdateSourceTrigger=PropertyChanged}"/>
            <Button Content="Aufgabe schließen" Command="{Binding SaveCommand}"/>
        </StackPanel>

Thema: StackPanel Visibility bei DataBinding
Am im Forum: GUI: WPF und XAML

Zitat von MrSparkle
Hi Ahrimaan,

ein paar Fragen hast du aufgeworfen:
- Heißt die gepostete Klasse TaskModel?
- Kannst du ausschließen, daß CurrentItem einfach null ist?
- Kennst du den DatabindingDebugConverter schon:


/// <summary>
/// This converter does nothing except breaking the
/// debugger into the convert method
/// </summary>
public class DatabindingDebugConverter : IValueConverter
{
    public object Convert(object value, Type targetType, 
        object parameter, CultureInfo culture)
    {
        Debugger.Break();
        return value;
    }
 
    public object ConvertBack(object value, Type targetType, 
        object parameter, CultureInfo culture)
    {
        Debugger.Break();
        return value;
    }
}

Christian
Hi,
die gepostete Klasse ist das ViewModel.
TaskModel ist das Model welches meine Daten enthält.

Ja kann ich : Wenn ich mit dem Debugger reinspringe, sehe ich, wie der Wert zugewiesen wird.

Diese Klasse kannte ich bisher noch nicht
Grüße

Thema: StackPanel Visibility bei DataBinding
Am im Forum: GUI: WPF und XAML

Zitat von MrSparkle
Hi Ahrimaan,

gibt es DataBinding-Fehlermeldungen im Ausgabefenster?

Christian

Hi Christian,

wenn der DataContext weg ist , findet er CurrentItem nicht.
Wenn er den DataContext hat, findet er IsVisible nicht.

Ich war immer der Meinung, alle Controls können auf die in dem VM enthaltene Propertys zugreifen.
Sobald ich aber den DataContext aus dem StackPanel entferne scheint dem nicht so.

EDIT: Habe mal das ViewModel im obigen Beitrag gepostet

Grüße

Thema: StackPanel Visibility bei DataBinding
Am im Forum: GUI: WPF und XAML

Ich habe in meine AppDictionary bereits die View und das ViewModel verbunden.
Beide Propertys sind da.
Nur findet das Stackpanel nicht.
Ein DataGrid im selben Control bindet aber ganz normal ..

Thema: StackPanel Visibility bei DataBinding
Am im Forum: GUI: WPF und XAML

Hallo zusammen,
ich habe eine Frage zu einem Phänomen:

<StackPanel Visibility="{Binding IsVisible,Converter={StaticResource converter}}"  Orientation="Vertical" Grid.Row="1" DataContext="{Binding CurrentItem}">
            <TextBlock Text="{Binding Name}"/>
            <Label Content="Bitte geben Sie einen Text ein"/>
            <TextBox TextWrapping="Wrap" VerticalScrollBarVisibility="Auto" AcceptsReturn="True" Text="{Binding CurrentItem,Path=Comment,UpdateSourceTrigger=PropertyChanged}"/>
            <Button Content="Speichern" Command="{Binding SaveCommand}"/>
        </StackPanel>

Die IsVisible Eigenschaft wird Anfangs auf false gesetzt und das CurrentItem ist definiv null.
Wenn ich den DataContext angebe, schaltet er nicht mehr auf True oder False (logisch da kein DataContext)
Wenn ich den aber entferne und direkt in den Controls darauf verweise, findet er die Property Current Item nimmer.

Etwas Ratlos bin

EDIT : Das ViewModel

private ObservableCollection<TaskModel> _internalTasks; 

        private CollectionViewSource _tasks;
        public ICollectionView Tasks
        {
            get { return _tasks.View; }
            set { OnPropertyChanged(() => Tasks); }
        }

        private TaskModel _currentItem;
        public TaskModel CurrentItem
        {
            get { return _currentItem; }
            set { _currentItem = value;
                IsVisible = _currentItem != null;
                OnPropertyChanged(() => CurrentItem);
            }
        }

        private bool _isVisible;
        public bool IsVisible
        {
            get { return _isVisible; }
            set { _isVisible = value;OnPropertyChanged(() => IsVisible); }
        }

        private ICommand _saveCommand;
        public ICommand SaveCommand
        {
            get
            {
                return _saveCommand ?? (_saveCommand = new DelegateCommand(() =>
                                                                               {
                                                                                   var result = _currentItem.Comment;
                                                                               }));
            }
        }

Thema: [gelöst]DataGrid RowDetails werden nicht angezeigt
Am im Forum: GUI: WPF und XAML

Hi,

ich habe den Fehler gefunden:
Ich muss dem DataGrid in dem Template die ItemSource geben nicht dem Template selber.
Dadurch ist es auch unnötig ein HierachicalDataTemplate zu nutzen, das macht das DataGrid bereits.
Es Reicht also ein normales DataTemplate :-)

<c:DataGrid.RowDetailsTemplate>
                <DataTemplate >
                    <Grid>
                         <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="30"/>
                            <ColumnDefinition Width="*"/>
                        </Grid.ColumnDefinitions>
                        <c:DataGrid Grid.Column="1" ItemsSource="{Binding Path=Tasks}" AutoGenerateColumns="False">
                            <c:DataGrid.Columns>
                                <c:DataGridTemplateColumn Header="Name">
                                    <c:DataGridTemplateColumn.CellTemplate>
                                        <DataTemplate>
                                            <TextBlock Text="{Binding Path=Name}"/>
                                        </DataTemplate>
                                    </c:DataGridTemplateColumn.CellTemplate>
                                </c:DataGridTemplateColumn>
                                <c:DataGridTemplateColumn Header="Erstellt Am">
                                    <c:DataGridTemplateColumn.CellTemplate>
                                        <DataTemplate>
                                            <TextBlock Text="{Binding CreateDate}"/>
                                        </DataTemplate>
                                    </c:DataGridTemplateColumn.CellTemplate>
                                </c:DataGridTemplateColumn>
                                <c:DataGridTemplateColumn Header="Erstellt Von">
                                    <c:DataGridTemplateColumn.CellTemplate>
                                        <DataTemplate>
                                            <TextBlock Text="{Binding CreatedFrom,Path=Name}"/>
                                        </DataTemplate>
                                    </c:DataGridTemplateColumn.CellTemplate>
                                </c:DataGridTemplateColumn>
                                <c:DataGridTemplateColumn Header="Geschlossen von">
                                    <c:DataGridTemplateColumn.CellTemplate>
                                        <DataTemplate>
                                            <TextBlock Text="{Binding ClosedBy,Path=Name}"/>
                                        </DataTemplate>
                                    </c:DataGridTemplateColumn.CellTemplate>
                                </c:DataGridTemplateColumn>
                                <c:DataGridTemplateColumn Header="Geschlossen am">
                                    <c:DataGridTemplateColumn.CellTemplate>
                                        <DataTemplate>
                                            <TextBlock Text="{Binding ClosedDate}"/>
                                        </DataTemplate>
                                    </c:DataGridTemplateColumn.CellTemplate>
                                </c:DataGridTemplateColumn>
                            </c:DataGrid.Columns>
                        </c:DataGrid>
                    </Grid>

                </DataTemplate>
            </c:DataGrid.RowDetailsTemplate>

Thema: [gelöst]DataGrid RowDetails werden nicht angezeigt
Am im Forum: GUI: WPF und XAML

Hi, Tasks ist eine Property von Person ...