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 MarsStein
Thema: Via WebRequest PHP-Skript ausführen
Am im Forum: Grundlagen von C#

Hallo,

Das Problem siolltest Du auf jeden Fall selbst bewältigen.

Bitte lies Dir das mal durch: [Hinweis] Syntaxfehler selbst lösen (Compilerfehlermeldungen)

Und am besten auch hier mal reinschauen, da einiges an Grundlagen zu fehlen scheint: [FAQ] Wie finde ich den Einstieg in C#?

Gruß, MarsStein

Thema: Via WebRequest PHP-Skript ausführen
Am im Forum: Grundlagen von C#

Hallo,

Du brauchst die Instanz des WebRequest, auf der rufst Du GetResponse auf.

var request = WebRequest.Create("http://my.webspace.com/theScript.php");
var response = request.GetResponse();
Bitte schau in Zukunft in die Doku [Hinweis] Bitte schau in die SDK-/MSDN-Doku , wie man die Framework-Klassen benutzt (v.a. wenn Du schon die Methode genannt bekommst)
WebRequest-Klasse
WebRequest.GetResponse-Methode

Gruß, MarsStein

Thema: Via WebRequest PHP-Skript ausführen
Am im Forum: Grundlagen von C#

Hallo,

unabhängig davon, ob die die Antwort benötigst oder nicht, musst Du auf jeden Fall noch auf dem WebRequest die GetResponse-Methode aufrufen. Erst dadurch wird der Request an den Server abgesetzt. Habe ich aber in dem verlinkten Thread im letzten Post auch geschrieben.

Gruß, MarsStein

Thema: VS 2013: Wie installiere ich die Microsoft Web Developer Tools ohne Netzwerkverbindung?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hallo,

wir hatten das Problem mal an einem Windows 7 PC, der auch nicht am Internet hängt.
Da gibts ein Update: https://www.microsoft.com/en-us/download/details.aspx?id=9490

Wenn Du ein anderes Windows hast, musst Du Dir ein entsprechendes Update oder Offline-Installer für die Root Zertifikate suchen.

Gruß, MarsStein

Thema: ASP.NET MVC - HttpWebRequest Authentication Header setzen
Am im Forum: Web-Technologien

Hallo,

Zitat von Sir Rufo
Und du kannst den Code erheblich verkürzen

Aber nicht mit HttpWebRequest. Wäre mir zumindest neu.
Dazu braucht es HttpRequestMessage.

Siehe auch HttpRequest vs HttpRequestMessage vs HttpRequestBase

Gruß, MarsStein

Thema: Values vom UserControl an das MainWindow übergeben
Am im Forum: GUI: WPF und XAML

Hallo,

Zitat
Meine ucls kriegen über d:DataContext bereits im Designmode mitgeteilt, welches Viewmodel sie darstellen sollen. Sie sind nicht als allgemein-verwendbar gedacht, wie etwa eine Textbox oder ein DatetimePicker.
Völlig OK meiner Ansicht nach. Wie gesagt, ist das für mich eine Frage des Anwendungsfalls.

Gruß, MarsStein

Thema: Values vom UserControl an das MainWindow übergeben
Am im Forum: GUI: WPF und XAML

Hallo ErfinderDesRades,

das ist eine Frage der Herangehensweise.

Zitat von ErfinderDesRades
weil üflüssig und widerspräche MVVM.
Das jedenfalls ganz und gar nicht.
Wenn Du im UserControl einzelne Controls hast, die mit Werten aus einem VM gebunden werden sollen, dann gibt es 2 Möglichkeiten:

Entweder das UserControl trifft bereits Annahmen über das ViewModel (weiß also schon, wie dort die Properties benannt sind, damit man binden kann). Dann gibst Du dem UC einen DataContext, der die entsprechenden Properties enthält, und das Ganze funktioniert so wie Du es beschreibst. Dann bist Du aber auch gezwungen, ein solches ViewModel zu implementieren, dass zum UC passt.

Oder Du gehst noch einen Schritt weiter und entkoppelst das vollständig.
Dann halt auf die Art wie von MrSparkle beschrieben. Dann muss das UserControl überhaupt nix mehr über die Struktur des ViewModels wissen, aus dem die Daten kommen. Es können sogar die im UC angezeigten Werte aus unterschiedlichen ViewModels kommen. Dann kannst Du so ein UC wiederverwendbar machen, ohne bereits die ViewModel-Klasse dazu vorzugeben -> so ist es ja auch im Framework selbst, die ganzen Controls dort sind einfach nur Controls, aber ViewModels gibt es da noch nicht. Die schreibt der Benutzer des Controls eben selbst.

Edit: ich selbst benutze beide Varianten (bin da nicht puristisch), je nach Anwendungsfall des UC.


Gruß, MarsStein

Thema: Values vom UserControl an das MainWindow übergeben
Am im Forum: GUI: WPF und XAML

Hallo,

Zitat von Sebastian1989101
Eine DependencyProperty brauchst du hier nicht. Die würdest du nur brauchen, wenn du darauf per Binding zugreifen möchtest.

Das ist zwar richtig.
Die deutlich bessere Herangehensweise wäre aber in 99% der Fälle, die Werte in einem ViewModel zu speichern und dann an das UserControl zu binden.

[Artikel] MVVM und DataBinding

Gruß, MarsStein

Thema: Für Mono Umgebung mdb erstellen aus pdb?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,

Zitat
Beide Systeme haben Mono 4.5 Installiert.
Das heisst nicht zwangsläufug, dass auch Mono.Cecil installiert ist.
Hast Du das schon überprüft?
Falls ja, ist es vermutlich ein Versionsproblem.

Gruß, MarsStein

Thema: [Erledigt]IndexOutOfRange Exception bei Button.Visible Änderung
Am im Forum: GUI: Windows-Forms

Hallo,

der Stacktrace wird beim Debuggen angeigt (falls bei Dir nicht, kannst Du das Fenster über das Debug-Menü einblenden DEBUG->Windows->Call Stack).

Zusätzlich steckt der Stacktrace aber auch in der Exception selbst als Property StackTrace.

Edit: In der Exception steckt der relevante Callstack beim Auslösen der Exception (auch wenn sich da nicht immer was sinnvolles findet).
Das muss nicht derselbe sein, wie in dem Debug-Fenster. In letzterem kannst Du während des Debuggens immer den aktuellen Callstack sehen.

Gruß, MarsStein

Thema: [Erledigt]IndexOutOfRange Exception bei Button.Visible Änderung
Am im Forum: GUI: Windows-Forms

Hallo,

was sagt denn der Stacktrace wenn die Exception fliegt?

Gruß, MarsStein

Thema: [Erledigt]IndexOutOfRange Exception bei Button.Visible Änderung
Am im Forum: GUI: Windows-Forms

Hallo,

die Zeile ist ja die erste in Deinem catch-Block. Bist Du sicher, dass die IndexOutOfRange nicht genau die Exception ist, die Du gerade fängst?

Gruß, MarsStein

Edit: Oh, die Exception fliegt ja im Click auf den Stop-Button - das habe ich erst nach Deinem Edit gesehen...

Thema: ASP.NET IISExpress keine Bilder auf Remote Client
Am im Forum: Web-Technologien

Hallo,

schau mal in Imanges durch ~/... angegeben werden nicht angezeigt und Problem mit Pfaden von Grafiken in Masterpage

hth

Gruß, MarsStein

Thema: IsEnabled-Binding reagiert nicht auf PropertyChangedEvent
Am im Forum: GUI: WPF und XAML

Hallo,

ich habe mir jetzt mal angesehen, was da eigentlich im Hintergrund passiert:

WPF benutzt den PropertyChangedEventManager, einen spezialisierten WeakEventManager, um auf die PropertyChanged Events des VM zu reagieren.
Ich beziehe mich im Folgenden auf die Codezeilen aus der verlinkten Quelle.

Irgendwann wird die AddListener-Methode (276) aufgerufen, diese ordnet dem Quellobjekt (dem VM oder genauer: dem Source-Objekt des Bindings) ein Dictionary zu (287), in dem zum gewünschten Propertynamen - der ja über das Binding bekannt ist - eine Liste mit den benötigten Handlern gehalten wird.

Anschließend wird in (290) die Methode StartListening (150) aufgerufen, welche das PropertyChanged-Event abonniert.

Der registrierte Handler findet sich ab (378). Dort wird zunächst versucht, das dem Quellobjekt (diesmal sender) zugeordnete Dictionary zu finden (387). Wird es nicht gefunden, wird eine leere Handlerliste benutzt (389-394), und damit bist Du aus der Nummer raus.

Genau das ist hier der Fall: Da der sender der Typ und nicht das Quellobjekt ist, existiert auch kein Dictionary dazu, und es passiert nichts mehr weiter.

WPF bzw. der PropertyChangedEventManager geht also sehr wohl davon aus, dass das Objekt als sender übergeben wird, das die geänderte Property enthält. An einem kleinen einfachen Beispiel konnte ich das auch genau so nachvollziehen.

Zitat
da sont auch alle PropertyChangedEvents nicht abgehohlt würden. Dies ist jedoch der in allen Datenrelevanten Properties der fall, also muss meines erachtens dies keine Rolle spielen.
Der oben gezeigte Mechanismus - sofern ich ihn richtig verstanden habe - verleitet mich dazu, das Gegenteil zu behaupten.
Das kann eigentlich nur funktionieren, wenn da ganze DataContext-Objekte ausgetauscht werden, oder ObservableCollections geändert werden, dann läuft das ganze wieder etwas anders. Die Gegenrichtung - Updaten des ViewModels aus der View - ist natürlich auch nicht betroffen.

Ich glaube, dass Du da einem Trugschluss aufgesessen bist. Die Bindings funktioneren zwar initial, Änderungsbenachrichtigungen direkt vom ViewModel über INPC kann die View aber auf diese Weise nicht erhalten.

Also tu Dir selbst den Gefallen und probier es einfach einmal aus, statt Dich auf Dein seltsames Konzept zu vesteifen - das funktioniert nämlich schlichtweg nicht.

Gruß, MarsStein

Edit: Typos

Thema: IsEnabled-Binding reagiert nicht auf PropertyChangedEvent
Am im Forum: GUI: WPF und XAML

Hallo,

möglicherweise funktionieren Deine Properties auch mit dem Typen. Da würde ich mich aber jedenfalls nicht drauf verlassen - Gründe stehen oben.
Das Event wird ja von Framework-Klassen konsumiert, und nicht von Dir selbst. Da könnte es dann fallweise implementierungsabhängig sein, ob und wie die Events konsumiert werden.

Früher stand das als Konvention explizit in der Doku:
Raising an Event

Zitat von MSDN
By convention, events in the .NET Framework have the signature EventName(sender, e), where sender is an Object that provides a reference to the class or structure that fired the event
Der Artikel wurde allerdings überarbeitert, und diese Konvention ist nicht mehr explizit genannt.

Andere Sache, von der ich aber nicht glaube, dass sie Dein Problem auslöst:
Mode=OneWay und UpdateSourceTrigger passen nicht wirklich zusammen.

Gruß, MarsStein

Thema: Datatable mit DateTime nach Uhrzeit filtern - Welchen Select absetzen?
Am im Forum: Datentechnologien

Hallo,

wenn der Tag tatsächlich keine Rolle spielt, passt das auf jeden Fall.

Gruß, MarsStein

Thema: IsEnabled-Binding reagiert nicht auf PropertyChangedEvent
Am im Forum: GUI: WPF und XAML

Hallo,

also mit dem Typen kann es nicht funktionieren. Du brauchst auf jeden Fall das konkrete Objekt als sender.
Stell Dir einfach mal vor, Du hast mehrere Deiner VM-Objekte in verschiedenen Views, eines davon ändert sich, das andere nicht. Wie soll denn über den Typen entschieden werden, welche View dann aktualisiert werden soll?

Gruß, MarsStein

Thema: Datatable mit DateTime nach Uhrzeit filtern - Welchen Select absetzen?
Am im Forum: Datentechnologien

Hallo,

Zitat
Es wird nicht automatisch nach Uhrzeit berechnet, sondern rein nach "Zahlen"
Eigentlich werden hier lediglich Zeitspannen miteinander verglichen. In der Uhrzeit steckt ja keine Information über den Tag bzw. Tageswechsel.

6:00 kann eben genausogut am gleichen Tag wie die 17:00 liegen, oder eben am nächsten Tag.
Die Reihenfolge in der Du die Werte vergleichst kann und darf hier keine Rolle spielen.
Ob also ein Tageswechsel vorliegt, musst Du daher in irgendeiner Weise selbst entscheiden.
Möglich wäre z.B. auch, sich ein fixes Datum zu nehmen und dann mit dem vollständigen DateTime (nicht TimeSpan) Differenzen zu dem fixen Datum zu bilden (die dann doch wieder ein TimeSpan sind, der aber dann die Information über den Tageswechsel schon enthält), das halte ich aber für ungleich komplizierter.

Gruß, MarsStein

Thema: Empfangen mehrerer gleicher Pakete bei der Nutzung von RAW Sockets
Am im Forum: Netzwerktechnologien

Hallo,

bei genauerem Hinsehen frage ich mich, wie da überhaupt irgendwas funktioniert:

Du erstellst beim ersten Aufruf ein State-Objekt und steckst einen in der Methode lokal erzeugten Puffer rein. Allerdings greifst Du nach dem Lesen gar nicht auf diesen Puffer zu...
Irgendwo innerhalb der RecieveCallback müsste doch auch mal s.Data zugegriffen werden.
Ich frage mich, wie Dein readMessage überhaupt an die Daten kommt.

Deshalb erst mal die Frage:

                    so.Recieved = listener.EndReceive(result);

                    readMessage(so);
Was ist hier so, und was macht readMessage, um an die Daten zu kommen?

Gruß, MarsStein

Thema: Empfangen mehrerer gleicher Pakete bei der Nutzung von RAW Sockets
Am im Forum: Netzwerktechnologien

Hallo,

Zitat
dass du 2 Mal BeginReceive aufrufst.
kann man IMO schon so machen -> In der Callback wird direkt der nächste asynchrone Lesevorgang gestartet, das sollte funktionieren.

Aber die Aufrufreihenfolge ist seltsam, ich würde auf jeden Fall zunächst mal über EndReceive die vorhandenen Daten lesen, und erst danach wieder BeginReceive aufrufen.

Gruß, MarsStein

Thema: Wie kann ich grafisch eine "Wenn-Dann"-Bedingung umsetzen?
Am im Forum: Grundlagen von C#

Hallo,

da kann ich mir jetzt irgendwie nicht so richtig vorstellen, was Du willst.
Kannst Du mal ein Bild anhängen, wie Du Dir grob eine solche "grafische Übersetzung" vorstellst?

Gruß, MarsStein

Thema: Was bedeutet diese Variabe: (Control)sender
Am im Forum: Grundlagen von C#

Hallo,

das nennt man Casting, sieheCasting and Type Conversions.
Das gehört zu den grundlegendsten Dingen überhaupt.

Im konkreten Fall handelt es sich bei sender um ein object, das hier auf ein Control gecastet wird, um auf die Eigenschaften/Methden des Controls zugreifen zu können.

Gruß, MarsStein

Thema: Ist die Externenprüfung zum Fachinformatiker bei der IHK Sinnvoll?
Am im Forum: Smalltalk

Hallo,

im Allgemeinen würde ich persönlich eine solche Qualifikation immer als sinnvoll erachten - schaden kann sie jedenfalls nichts.

Dass Dir das allerdings mit bereits 8 Jahren Berufserfahrung noch viel bringt, wage ich zu bezweifeln. Da zäht dann eher das, was Du bereits in verschiedenen Projekten geleistet hast und die Erfahrung die Du mitbringst.
Ich selbst bin gelernter Fachinformatiker, nachdem ich 10 Jahre im Beruf war hat das aber niemanden mehr interessiert - genauso wenig wie die Tatsache, dass ich kein Studium absolviert habe.
Man sieht das ja auch in vielen Stellenangeboten, wo dann sowas zu lesen ist wie Studium/Ausbildung oder vergleichbare Qualifikation.

Es kann aber durchaus sein, dass es Firmen gibt, bei denen Du ohne die Ausbildung gleich durchs Raster fällst, noch bevor Du überhaupt eingeladen wirst. Bei anderen wiederum könnte es einen seltsamen Beigeschmack haben, wenn Du nach so vielen Jahren noch eine solche Prüfung machst.
Eine allgemeine Aussage halte ich daher für schwierig.

Gruß, MarsStein

Thema: ASP.NET JavaScript Zugriff auf Sessionvariablen
Am im Forum: Web-Technologien

Hallo,

<%Session["TestValue"] = ""; %>';
Das kann nur innerhalb des aspx-Codes selbst funktionieren, da es einen serverseitigen Ausdruck enthält, der mit der Seite geparst und serverseitig(!) ausgewertet wird.
Wenn Du den Javascript-Code auslagerst in eine eigene Datei, wird diese so wie sie ist einfach an den Client ausgeliefert und der Ausdruck wird auf dem Server nicht ausgewertet.

Schau Dir dazu auch mal den Scriptcode an, der bei den beiden Varianten auf dem Client landet.

Gruß, MarsStein

Thema: Datatable mit DateTime nach Uhrzeit filtern - Welchen Select absetzen?
Am im Forum: Datentechnologien

Hallo,

dtClone.AsEnumerable() - das ist fein, die DataTableExtensions.AsEnumerable-Methode kannte ich wiederum nicht

Gruß, MarsStein

Thema: Datatable mit DateTime nach Uhrzeit filtern - Welchen Select absetzen?
Am im Forum: Datentechnologien

Hallo,

DataRowCollection erbt von InternalDataCollectionBase und diese implementiert auch IEnumerable, aber nicht IEnumerable<T>. Deshalb klappt es nicht mit der Where-Extension.
Versuch es mal mit

dtClone.Rows.OfType<DataRow>().Where(...)
Wenn Du schon typisierte Rows hast, kannst Du natürlich auch den richtigen Typ nehmen bei OfType.

Gruß, MarsStein

Thema: Office.Interop.Outlook nach Umstellgun auf 64bit bringt Int64-Überlauf
Am im Forum: Office-Technologien

Hallo,

was ist denn MyDll.OutlookHelper.OutlookDataObject?
Sieht aus als wäre das die Stelle, wo der Hase im Pfeffer liegt...

Gruß, MarsStein

Thema: C# Bot auf FreeBSD 10.3
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hallo,

Awesomium oder PhantomJS wären ggf. Alternativen für den Browser. Diese kommen - im Gegensatz zu einfachen WebRequests - auch klar mit Javascript.

Gruß, MarsStein

Thema: C# Bot auf FreeBSD 10.3
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hallo,

soweit ich weiss, gibt es Mono auch für FreeBSD - das ist eine OpenSource-Portierung der .NET-Runtime, einfach mal danach suchen.

Windows.Forms funktioniert da recht gut. Für den WebBrowser sehe ich allerdings schwarz, wenn Du die WebBrowser-Komponente aus dem Framework verwendest -> die hängt nämlich am Internet Explorer und ist somit auf Windows festgenagelt.
Ob es da ein plattformunabhängiges, gut funktionierendes Browser-Control gibt, weiss ich nicht.

Gruß, MarsStein

Thema: Hochauflösendes Bild in (kleine) PictureBox laden und wieder hochauflösend Speichern
Am im Forum: Datentechnologien

Hallo,

warum der erste Ansatz nicht geklappt hat:

 Bitmap bmp = new Bitmap(pictureBox1.Width, pictureBox1.Height);
pictureBox1.DrawToBitmap(bmp, new Rectangle(0, 0, pictureBox1.Width, pictureBox1.Height));
#
Größe Picturebox != Größe urspünglicher Inhalt...
Du nimmst ja explizit für das neue Bild, das Du abspeicherst, die Größe der Picturebox - dann wäre es verwunderlich, wenn Du ein größeres Bild mit den Originalmaßen bekommen würdest ;)

Gruß, MarsStein

EDIT: Ich sollte mal besser lesen - chilic hat's ja schon geschrieben...