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 Wolf_maYer
Thema: hexadezimale Thread ID
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

ThreadNamen sind implementiert.
Danke für den Hinweis!
Die Log ist wesentlich aufgeräumter!

Trotzdem bleibt meine Frage offen, da ich auf die Hex-Id trotzdem nicht verzichten möchte.

Grüße,
maYer

Thema: hexadezimale Thread ID
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Das ist eigentlich auch eine feine Idee ...

Muss mal schauen, wie gut das machbar ist.

Sind schon ein paar Stellen :-)

Thema: hexadezimale Thread ID
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

hups, sry würde doch klappen.

Aber ist mir zu teuer, weil das ja für jede Log-Ausgabe gemacht werden müßte.

Und da jedes mal in Unmanaged Code zu hüpfen ... hmm, ne :-)

Thema: hexadezimale Thread ID
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hi kleines Eichhörnchen,

Die gibt aber leider für den Hauptthread 1 und den nächsten erstellten 2 usw. zurück.

Das entspricht nicht so ganz den in Visual Studio angezeigten ID´s

Grüße,
maYer

Thema: hexadezimale Thread ID
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Ich habe mal weiter geschaut und folgendes gefunden:


string threadId = String.Format("{0:x8}", System.AppDomain.GetCurrentThreadId());

Leider ist die Methode veraltet. Kennt da jemand etwas neues?

Grüße,
maYer

Thema: hexadezimale Thread ID
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hi,
ich versuche gerade die aktuelle ThreadId in eine Log zu bekommen.
Hierbei mene ich nicht die ManagedThreadId aus System.Threadding sondern ich meine die hexadezimale Zahl, die in Visual Studio auftaucht, wenn man die Ausgabe verfolgt.

Weiß jemand, wo ich die abgreifen kan?

Grüße,
maYer

Thema: Datenbank Suche
Am im Forum: Datentechnologien

Was mir als erstes auffällt ist, dass du ruhig ein && anstelle des & machen kannst.

Damit wird bei einem false im ersten Teil der zweite nicht mehr ausgeführt.

<edit> ist zwar nicht eleganter aber schneller :-) </edit>

Grüße,
maYer

Thema: [gelöst] Deadlock Problematik
Am im Forum: Datentechnologien

So wie sich mir das darstellt, reicht der Snapshot Modus für mich aus.
Ich habe allerdings als ich nach updlock gesucht habe auf dieser Seite gelesen, dass für die betroffenen Spalten ein Index existieren muss.

Nachdem ich den eingerichtet hatte, lief es einwandfrei.

Danke für deinen Tip! Ohne den hätte ich die Seite und die Info nicht gefunden.

Grüße,
maYer

Thema: [gelöst] Deadlock Problematik
Am im Forum: Datentechnologien

Mache ich schon seit gestern Mittag :-)
Manchmal habe ich den Eindruck, als wenn die MSDN einen zum "Buffer Overflow" zwingen möchte. Man Liest sooo viel und übersieht am Ende doch das wesentliche :-)

Bin demnach schon dabei mir die Infos dazu zu holen.

Danke,

maYer

Thema: [gelöst] Deadlock Problematik
Am im Forum: Datentechnologien

Super Idee icedre,
Danke, ich werde es mal einbauen.
Wie verhält es sich denn, wenn die Transaktion ein Rollback macht?

Werden die Einträge mid dem updlock in dem Fall auch berücksichtigt und wieder entfernt?

Grüße,
maYer

Thema: [gelöst] Deadlock Problematik
Am im Forum: Datentechnologien

Like sollte es sein, wenn ich eine Wildcard benutze.
Da ich aber den genauen Namen weiß, kann ich auch = benutzen.

Grüße,
maYer

Thema: [gelöst] Deadlock Problematik
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: MSSQL 2005 Standard / Express / usw.

Hi Zusammen.
Ich habe hier eine mehr oder weniger mächtige DB Anwendung, die ich mit einem Lastentest durchgetestet habe. Hierbei habe ich einige Deadlocks gefunden und durch Änderungen im DB-Modell bereinigen können.

Hat alles wunderbar funktioniert. (Man kann ja im Voraus nicht an alles denken :-))

Nun stehe ich vor einem Problem, das ich nicht wirklich verstehe.

Tabelle:
Spalte1: ID - int - Autowert
Spalte2: Name - String
Spalte3: Info - String
Spalte3: Version - String
Spalte4: Datum - DateTime

Abläufe irgendwo in größeren Transaktionen:
Hinzufügen in Tabelle
Name = Name123
Info = Änderungen für Kunde X
Version = 04
Datum = 12.05.2007

Auslesen der Infos aller Versionen
Select * FROM Tabelle WHERE Name = 'Name123'

Das mache ich jetzt von mehreren Clients (natürlich mit unterschiedlichen Namen) und das Abfragen der Infos führt zu einem Deadlock.
"Die Transaktion befand sich auf Sperre Ressourcen aufgrund eines anderen Prozesses in einer Deadlock Situation und wurde als Deadlockopfer ausgewählt."

Was ich an dieser Stelle nicht verstehen kann ist, dass ich hier auf keinen Fall auf Zeilen zugreife, die in einer anderen Transaktion erstellt wurden! Die Namen sind zu 100% unterschiedlich!!!

Ich hoffe ich habe meinen Sachverhalt verständlich dar geboten!
Wenn noch Fragen offen sind, beantworte ich sie gerne.

Ach ja, ich arbeite mit der DB Einstellung: ALLOW_SNAPSHOT_ISOLATION ON" und der Session-Einstellung: "TRANSACTION ISOLATION LEVEL SNAPSHOT".

Viele Grüße und Danke an alle, die sich die Zeit nahmen sich das durch zu lesen,
maYer

Thema: datenstruktur mit System.Data klassen verwalten
Am im Forum: Datentechnologien

Hallo FZelle,
danke für deinen Tip.
LinQ werde ich mir in der Tat in naher Zukunft anschauen.

Ich hatte aber den Eindruck, dass man damit nur Daten behandeln kann und nicht den Daten Container. Mein Ziel ist es die Tabellen zu erstellen und zu ändern und nicht deren Inhalte.

Ich benötige also etwas, dass mir anhand einer bestehenden und einer vorgegebenen Struktur die entsprechenden CREATE bzw. ALTER TABLE ausführt, Index und AutoInkrement anlegt etc.

Ist das damit möglich?

Grüße,
maYer

Thema: datenstruktur mit System.Data klassen verwalten
Am im Forum: Datentechnologien

Hmm,
ich dachte mir soetwas schon.

Dann fange ich mal an und baue mir sowas ...

grmml

Grüße und vielen Dank,
maYer

Thema: datenstruktur mit System.Data klassen verwalten
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: MSSQL 2005

Hi,
ich möchte gerne eine Art Data Model Designer erstellen.
Zumindest ein paar Basisklassen, mittels denen ich eine Tabelle anlegen oder anpassen kann.

Hierbei würde ich mich gerne mal konkret mit den im Namespace System.Data vorhandenen Klassen auseinander setzen.

Ist es möglich, dass ich eine DataTable im C# Code erstelle und diese einer Datenbank zuweise und diese Tabelle in der DB angelegt oder angepasst wird?

Wenn das zu ungenau ist, dann gehe ich gerne näher darauf ein, was ich meine.

Grüße,
maYer

Thema: Transaktionsgesteuertes Testprogramm
Am im Forum: Netzwerktechnologien

Hallo riCo,
das kann ich gerne machen.
Ich habe zum Beispiel die Operationen "Auftrag erstellen" und "neuen Auftrag von Auftrag ableiten".
Jetzt sind an diesen Auftrag Positionen gekoppelt, die wiederum aus weiteren Positionen bestehen. Ich habe also einen mehr oder weniger komplexen Baum, den ich komplett durchlaufen muss.

Um sicher zu gehen, dass ich in einem Fehlerfall keine halben Aufträge im System habe, habe ich die komplette Operation durch eine Transaktion abgesichert.
So viel zum Vorgang.

Die Testaplikation sollte nun mehrere Benutzer gleichzeitig simmulieren, und damit eine parallele Abarbeitung der Operationen durchführen. Damit kommt es zwangsweise zu dem Fall, dass sich zwei simmulierte Benutzer gleichzeitig innerhalb einer Transaktion befinden.
Ich darf aber pro Prozess und Connection nur eine Transaktion offen halten.

Leider (dass muss ich dazu sagen) ist die Session/Connection statisch gehalten und ich kann nicht mal ebend flux eine zweite öffnen. Ist ein Design Problem, dass ich noch angehen muss, wofür ich aber im Moment keine Zeit habe.

Grüße,
maYer

Thema: Transaktionsgesteuertes Testprogramm
Am im Forum: Netzwerktechnologien

Hi,
um den Standard-Text zu füllen: Ich arbeite mit der MSSQL 2005 Expr. und Std.

Nun zu meinem Problem.
Ich habe hier eine Applikation, die für mehrere User ausgelegt ist. Das bedeutet, dass es mehrere Clients gibt, die auf die Datenbank zugreifen und ihre Daten über die DB teilen.
Die Operationen, die mit den Daten durchgeführt werden, dauern unter Umständen mal etwas länger. Etwas länger dauert so ca. 5 - 10 Minuten und sind unter Umständen durch eine Transaktion abgesichert.

Nun sind bei manchen Nutzern Probleme aufgetreten, die ich zu Hause mit einer Testapplikation nachvollziehen möchte ohne dass ich hierfür zahlreiche PC´s benötige. (Ich bin noch bei der Planung des Testprogramms und habe fast keinen Code geschrieben!!!)

Meine Idee an dieser Stelle war/ist es, eine Testapplikation zu erstellen, die das Verhalten mehrerer Nutzer simuliert. Anhand der Systemressourcen möchte ich beeinflussen können, wie viele User auf einem PC simuliert werden.

Also den Ablauf der DB Operationen in eine Klasse und die Hauptmethode mehrfach mit einem neuen Thread aufrufen.

Kling erstmal gut finde ich.
Mein Problem an dieser Stelle ist, dass einige Operationen innerhalb einer Transaktion gekapselt sind. Jetzt darf ich aber nur eine Transaktion innerhalb eines Prozesses aufrufen. Diese Fehlermeldung habe ich zumindest ein paar mal gesehen.

Wie kann ich dieses Problem umgehen? Hat jemand dort eine Idee?
Meine Idee war jetzt, dass die Abarbeitung in eine eigene Applikation schiebe, die mich mit Startparametern aufrufe. Leider kann ich dann so schlecht gesammelte Informationen an die Steuernde Applikation senden und muss eine komplexe IPC implementierung vornehmen, was die Zeit eigentlich nicht her gibt.

Danke für Eure Hilfe, Infos und Unterstützung,
maYer

Thema: Free Obfuscator, was haltet ihr von ihm?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hi,
ich habe an dieser Stelle einen Freeware Obfuscator gepostet. Was haltet ihr von dem Tool?

Ich habe folgendes getestet.
Mehrere dll´s mit den standard Einstellungen durch das Tool geschleust und auf Funktionalität getestet. --> Lief

Mit dem Reflektor die Dll´s angeschaut. --> Bin auf mehrere Fehlermeldungen gelaufen und konnte keinen richtigen Nährwet aus den Informationen ziehen.
Mit einer Trial Version von Spice auf die Bibliotheken geschaut. --> Jetzt kann ich nicht sagen, ob es daran lag, dass ich nur eine Trial Version hatte aber ich konnte auch nicht wirklich viel aus den Dll´s erkennen.

Ich finde den Schutz nach den Tests ausreichend aber mich würde interessieren, wo ihr eventuelle Schwachstellen seht.

Grüße, maYer

Thema: Suche Freeware Obfuscator
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hi,
ich habe seit kurzem einen Freeware Obfuscator gefunden.

Phoenix Protector

Ich habe ihn getestet und bin sehr zufrieden mit ihm.

Grüße,
maYer

Thema: Remoting schlägt fehl
Am im Forum: Netzwerktechnologien

Hallo zusammen,
ich habe ein kleines Problem, bei dem ich nicht mehr weiter weiß.
Es geht dabei um ein Remote Object, das ich versuche aufzubauen.

Es funktioniert im Debug-Modus, es funktioniert, im Release-Modus, wenn ich es aus der VS-Umgebung starte.
Aber es funktioniert nicht, wenn ich es im Release Modus ohne VS-Umgebung starte.
Die Ausnahme, die ich bekomme lautet: Der Typeninitialisierer für NameSpace.Klasse hat eine Ausnahme verursacht.

Aus früheren Implementierungen weiß ich, dass man es tunlichst vermeiden soll, das Remote-Objekt in einer statischen Methode oder einer statischen Klasse aufzubauen.

Ich habe es nach einigem hin und her nun direkt im Mainform implementiert. Nix statisch, nix irgendwas. Ich versuche jetzt noch einmal einen BG-Worker damit zu beschäftigen, damit es nicht im GUI-Thread passiert. Aber ansonsten fehlt mir wirklich die Fantasie, an was es noch liegen könnte.

Vielleicht fällt Euch ja noch etwas ein, an das man beim Aufbau vom RemoteObjekten denken sollte.

MFG;
maYer

Thema: Tool zum aufspüren von totem Code
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Werde es gleich mal machen

Danke

Thema: Tool zum aufspüren von totem Code
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hi svenson,
ich habe da gerade auf dem Blog geschaut und nichts gefunden über das ich automatisch auf die Beta-Tester-Liste komme.
Kann es sein, dass ich erst mit Wesner Moise kommunizieren muss, und er mich handisch auf die Liste setzt?

Grüße,
maYer

Thema: Tool zum aufspüren von totem Code
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

grummel,
reSharper kann ich gerade nicht testen, da ich das SP1 für VS2005 nicht installiert habe.
Die FlashDemo schaut aber schon sehr gut aus und ich werde mal versuchen durch zu drücken, dass wir SP1 installieren.

Ich kann es nur nicht selber entscheiden.

Grüße,
maYer

Thema: Tool zum aufspüren von totem Code
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hi,
ich habe mir NCover mal angeschaut.
Klasse Programm, wenn man einen schönen BlackBox-Test machen möchte um zu schauen, welche Codezeilen in dem Test genutzt werden.

Ich verfolge eher den theoretischen Ansatz.
Also ich möchte nicht herausfinden welcher Code nicht genutzt wird sondern ich möchte herausfinden, welcher Code nicht genutzt werden kann

Dabei setze ich natürlich voraus, dass kein Code über Reflection genutzt wird.

Geht das mit NCover auch oder kennt jemand ein Tool, was das kann?

Grüße,
maYer

p.s. resharper schaue ich mir auch mal an

Thema: Tool zum aufspüren von totem Code
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hi,
kennt jemand ein Tool, mit dem man nach nicht mehr verwendeten Code suchen kann? Oder gibt es die Möglichkeit schon in VS und ich kenne sie nicht?

Ich mache es im Moment so, dass ich die Solution öffne und bei Methoden, bei der ich den Verdacht habe, dass sie nicht mehr verwendet wird, über das Kontextmenu nach allen Verweisen suche.

Es wäre super, wenn man das irgendwie komfotabler lösen könnte

Grüße,
maYer

Thema: [gelöst] Applikationsübergreifende Zugriffe
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Danke herbivore,

ich werde mich dort einmal einlesen und dann eventuell noch offene Fragen in einem neuen Post stellen.

Nach dem, was ich bis lang gelesen habe glaube ich aber, dass die Suche dabei ausreicht

Gruß,
maYer

Thema: [gelöst] Applikationsübergreifende Zugriffe
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo Zusammen,
ich möchte ein Sammlerprogramm erstellen, welches aus verschiedenen "eigenen" Applikationen Informationen sammelt.

Funktionell habe ich mir folgendes überlegt:
Programm X ist das Sammlerprogramm und A - D sind die eigenen Applikationen.

Als erstes möchte Programm A etwas an X senden. A schaut nach, ob Programm X gestartet ist. Wenn das nicht der Fall ist, dann wird das Programm X von A gestartet. Anschließend wird die Information an X gesendet.

Eine bidirektionale Kommunikation ist nicht notwendig.

Soweit zu meinen Vorstellungen.

Nun zu meiner Frage:
Wie löse ich das?

Hehe, ich weiß, dass ihr so allgemeine Fragen liebt aber mir fehlen noch die Schlagworte (Technologien), nach denen ich schauen muss um spezielleren fragen stellen zu können.

Ich bin Euch also dankbar um ein paar Tips - Vorschläge worein ich mich einlesen kann um meine Planun zu verfeinern.

Grüße,
maYer

Thema: 2 DB-Transaktionen in unterschiedlichen Threads
Am im Forum: Datentechnologien

Sooo,
das war eine sehr schnelle und überstürzte Antwort.

Zu meiner Applikation kann ich sagen, dass ich eigentlich schon recht genau getrennt habe.

Als unterste Schicht habe ich eine Connection, die auf das Inteface System.Data.IDbConnection implementiert hat um flexibel zu bleiben.
Leider habe ich in der darüber liegenden Schicht nicht so zu 100% getrennt

Da wird jetzt glaube ich ein bisschen Arbeit auf mich zukommen.

Da das DB-Modell nicht statisch ist, möchte ich an der Struktur nicht mehr so viel ändern. Es funktioniert sehr gut und es arbeiten schon einige Applikationen mit der Data-API.

man man man.

Das wird ein langes Wochenende

Wenn jemand eine Idee hat, was ich auf jeden Fall bedenken muss oder was ich für einen Ansatz verfolgen könnte.
Nur her damit

Gruß, maYer

Thema: 2 DB-Transaktionen in unterschiedlichen Threads
Am im Forum: Datentechnologien

Zitat
Original von FZelle
Wieso selber machen?

Solche DAL's gibt es wie sand am mehr.

Sehr spannend,

Wo finde ich die? Wie finde ich die? Und wieso kenne ich die noch nicht?

Unter DAL finde ich nichts und zu viel. Bzw. kannst du das vll ein bisschen spezifizieren?

Gruß, maYer

Thema: Fragen bzgl. XML/Dataset und Speicherung
Am im Forum: Datentechnologien

Ja klar.

Hier mal zur Verdeutlichung eine kleine xsd Datei:


<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<!-- Element Definitionen -->
	<xs:element name="ID" type="xs:integer" />
	<xs:element name="Typ" type="enumMessageType" />
	<xs:element name="Text" type="xs:string" />
	<xs:element name="LogText" type="xs:string" />
	<!-- Enumerationen -->
	<xs:simpleType name="enumMessageType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="Warnung" />
			<xs:enumeration value="Fehler" />
			<xs:enumeration value="Info" />
			<xs:enumeration value="Hinweis" />
			<xs:enumeration value="Frage" />
		</xs:restriction>
	</xs:simpleType>
	<!-- Struktur Definition -->
	<!-- Root -->
	<xs:element name="MsgRoot">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="Message" type="MessageType" minOccurs="0" maxOccurs="unbounded">
				</xs:element>
			</xs:sequence>
		</xs:complexType>
		<!--Eindeutigkeits-Definition-->
		<xs:unique name="MsgID">
			<xs:selector xpath="Message" />
			<xs:field xpath="ID" />
		</xs:unique>
	</xs:element>
	<xs:complexType name="MessageType">
		<xs:sequence>
			<xs:element ref="ID" />
			<xs:element ref="Typ" />
			<xs:element ref="Text" />
			<xs:element ref="LogText" />
		</xs:sequence>
	</xs:complexType>
</xs:schema>

Der ComplexType MessageType wird unten definiert und oben benutzt.
Zusätzlich habe ich oben eine Enumeration für den Messagetyp eingebunden und unten eine Eindeutigkeitsbeschränkung auf das Element ID gelegt.

Der MessageType ist allerdings auch wieder weiter schachtelbar

Ich hoffe, es hilft dir.

Gruß, maYer