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 zipperle
Thema: Automapper vs Mapping zur Laufzeit per Config und Refelection
Am im Forum: Datentechnologien

Habe mich jetzt mal etwas in Linq2Xml eingelesen. Das scheint mir ein Lösung zu sein. D.h. ich benötige nicht XSD.exe und die Generierung von c#-code,stattdessen extrahiere ich Teile des XMLs und stecke sie in von mir definierte Typen/Klassenstruktur. Ist doch dann aber ein ähliches Prinzip wie Automapper!? Meine c# Query Texte realisieren dann das Mapping auf meine eigenen Typen. Nur vermtulich einfacher zu programmieren als mit Automapper und etwas flexibler, womit ich wohl das Problem aus Frage b) lösen könnte.

Was mir noch nicht klar ist bei der Lösung mit Linq2Xml, wie ich es hinbekomme mein Objektmodell zurück an den Webservice zu schicken, gemäß dem vom Webservice erwartetem XSD Schema?

Zitat von FZelle
Wo hast du auf deiner Seite Relationale Daten?
Ich denke du hast recht, möchte eigentlich nur gewisse Felder aus einem "einfachen" Datensatz extrahieren. Relationale Daten wären es wohl dann, wenn ich aus mehreren unterschiedlichen Datensätzen aus verschiedenen Tabellen etwas abbilden möchte. Das ist bei mir nicht der Fall.
Zitat von FZelle
Was Du machen willst ist XML auf ein Objekt zu mappen.
Nicht nur. Ich muss später ein solches Objekt wieder zurück an den Webservice schicken
Zitat von FZelle
1. strenge Typisierung, die man bei Objekten anstrebt kommt immer mit dem "Nachteil" das man neu kompilieren muss wenn sich die Strukturen ändern, wie könnte sonst streng typisiert werden?
Ja das ist mir klar, aber bei meiner Lösung Nr. 3) könnte man wenigstens ein Fehlerhaftes Mapping korrigieren, z.B. falsches Element A aus XML gemapped auf Property X -> korrigiert: Element B gemapped auf Property X. Ok ist fraglich wie wahrscheinlich dieses Szenario ist und ob dies ein gewichtiges Argument für Lösung 3 wäre.
Zitat von FZelle
2. Wenn du veränderliche Daten im XML Format hast, lass sie so und beschäftige dich evtl mit LinQ2Xml.
Wie gesagt mir ist nicht klar wie ich meine Objektstruktur dann zurück in ein Webservice/Schema konformes XML überführen kann.

Thema: Automapper vs Mapping zur Laufzeit per Config und Refelection
Am im Forum: Datentechnologien

habe keinen einfluss auf den server/webservice und die gelieferten daten, ich entwickle nur einen client der ein teil der daten wieder in ein anderes system steckt und anders herum auch teile der daten des anderen systems wieder zurück an den webservice.
außerdem würde ein o/r mapper auf dem server nicht mein problem auf der client seite lösen, die vom webservice gelieferten daten in meine datenstruktur zu mappen? wenn dann bräuchte ich doch auch ein o/r mapper auf client seite. oder habe ich da was noch nicht verstanden?

Thema: Automapper vs Mapping zur Laufzeit per Config und Refelection
Am im Forum: Datentechnologien

Hi würde gern Eure Meinung hören damit ich die richtige Entscheidung treffe, bin noch neu in dem Theme und habe mir das bisher etwas ergooglet und hier im Forum ein paar Beiträge dazu gelesen :)

Folgende Situation:
Ich rufe von einem Webservice Daten ab welche aus einer Datenbank stammen. Der Webservice liefert mir die Datansätze in einem CDATA Element als XML. Das Schema zum XML habe ich. Mit XSD.exe habe ich mir die Klassen (Objektstruktur) erzeugen lassen. Zur laufzeit würde ich diese mit XmlSerializer (de-)serialisieren.

Aus einem Datensatz bzw. aus der Objektstruktur benötige nicht alle Klassen/Properties und würde diese in eine eigene von mir definierte Klassenstruktur überführen wollen.

Wie ich bisher recheriert habe, bieten sich mir folgende Möglichkeiten:
1. Ein ORM Framework:
Denke das ist aber overkill für meine Anwendung bzw auch nicht geeignet weil ich ja nicht dirket mit der DB kommuniziere sondern über einen Webservice.
Ist diese Einschätzung korrekt?

2. Automapper:
Scheint eine gute Lösung zu sein. Allerdings etwas zu statisch/unflexibel. Wenn nach Auslieferung der Anwendung ein Fehler im Mapping erkannt wird (der beim Testen nicht aufgefallen ist), dann müsste man die Anwendung neu kompilieren. Bin dann evtl zu diesem Zeitpunkt nicht mehr in der Firma tätig und jemand anderes müsste hier den Code kennen bzw. C# Entwickler sein um dies zu ändern.
Ein weiterer evtl nicht so gravierender Punkt ist, wenn sich das Schema des Xml ändert. Dann müsste ich ja, je nachdem was sich am Schema geändert hat, auch meine eigene Datenklassenstruktur anpassen und neu kompilieren.
Sind diese Einschätzungen korrekt?

3. Per Mapping Config Datei und Reflection:
Diese Lösung hatte ich von Anfang an im Kopf, war mir aber nicht sicher ob realisierbar. In diesem Artikel
http://www.techrepublic.com/article/applied-reflection-dynamically-accessing-properties-of-a-class-at-runtime/6099345
scheint die Lösung beschrieben zu sein, wenn ich es richtig verstanden habe. D.h. es gibt eine Config Datei die das mapping der Typen der Klassen und deren Properties beschreibt, das stelle ich mir dann ungefähr so vor in der Config:
SourceClassType=KlasseA, SourcePropertyName=PropA->DestinationClassType=KlasseB, DestinationPropertyName=PropX.
Kann das so funktionieren?
Wenn nun nach meinem Ausscheiden der Firma ein Fehler in dem Mapping erkannt wird, muss man nur die Config anpassen.
Automapper kann dies nicht? Oder gibt es ein Framework das dies kann um den Weg nicht selber programmieren zu müssen
Sind diese Einschätzungen korrekt?

Dann habe ich noch zwei Fragen:
a) Die aus dem Schema erzeugte Datenstruktur hat zum Teil unübersichtliche Klassen und Property Bezeichner. Kann XSD.exe oder ein anderes Tool andere Bezeichnernamen generieren? Und dann müsste natürlich wieder später wenn ich die Daten wieder serialisiere und an den Webservice zurück sende, ein zum Schema konformes XML erzeugt werden. Ist das möglich?

b) Dann gibt es noch einen Spezialfall in meinem Schema und dem Mapping auf meine eigene Datenstruktur: Aus irgendeinem Grund generiert mir XSD.exe bei den Klassen immer eine Property "Text" welche vom Typ string[] ist, so wie es aussieht steht hier immer bei index=0 das was in einem Element zwischen den Spitzen klammern steht z.b. <ElementXYZ>abc</ElementXYZ>. Ok während ich das hier schreibe, erkenne ich gerade, dass dieser Text ja irgendwo gespeichert werden muss und da das Element ein komplexer Typ ist, legt XSD.exe dies wohl automtisch an. Aber warum als string array? Hier gibt es doch dann ein Problem, wenn ich genau diesen Wert aus index=0 Mappen möchte auf eine Property in meiner eigenen Datenstruktur. Geht das überhaupt mit Automapper, dass man aus Listen einen Wert mappen kann?

So das war jetz ne Menge Holz ich weis, aber ich hoffe ihr könnt mir trotzdem weiterhelfen auf die richtige Bahn zu kommen. Und ich finde dies ein interessantes Thema und würde gerne darüber mit euch diskutieren. Danke!

Thema: X509Certificate2 PrivateKey laden [==> Bouncycastle]
Am im Forum: Rund um die Programmierung

Ich habe ein ähnliches Problem, welches ich seit Tagen versuche zu lösen, aber ich bin wohl nicht im Stande die Informationen so zusammenzusetzen, dass ich wüsste wie dies zu implementieren ist.

Bei mir ist es ein Webservice den ich ansprechen muss. Habe ein File in dem oben private RSA key steht und darunte certificate.

Könnt ihr mir bitte erklären und wenn möglich Code-Beispiele, wie ich mit Bouncycastle (wie bisher recherchiert geht dies wohl nicht so einfach mit .net Klassen, ich glaube die Files hier sind im PEM format) das zu implementieren ist?

Mein Zertifikat wollte ich so erstellen:
X509Certificate2 cert = new X509Certificate2( "file" );

Passwort habe ich keins. Wie gesagt file enthält private key und certificate. Ist das überhaupt ausreichend um eine two-way ssl authentifizierung zu implementieren?

Mein Code sieht dann in verkürzter Form so aus:


X509Certificate2 cert = new X509Certificate2( @"C:\file.txt" );
QcsiWebService.WSAdapterBCIClient webService = new QcsiWebService.WSAdapterBCIClient("WSAdapterBFPortHttps");
webService.ChannelFactory.Credentials.ClientCertificate.Certificate = cert;
string response = webService.helloWorld();            

Bei Aufruf von webService.helloWorld(), kommt es dann zu einer Exception die besagt dass kein SSL Kanal und keine sichere Verbindung aufgebaut werden konnte. Hab die Ex Meldung gerade nicht hier. Kann ich wenn ich wieder im Büro bin noch nachreichen.

Die Property cert.PrivateKey ist aber null nachdem instanziieren von cert. "File.txt" ist funktionstüchtig da dieses mit SoapUI oder in Java Keystore erfolgreich eingebunden werden kann und Aufrufe an den Webservice erfolgreich sind. Weis nicht ob es ausreicht mit bouncycastle den PrivateKey zu setzen!?

Das setzen des Zertifikats wird vermutlich auch anders gemacht als ich es hier mache, aber das ist auch nicht das Problem.

Bräuchte bitte Hilfe wie hier die Aufrufe (mit bouncycastle api)zu machen sind.
Hoffe ihr könnt mir weiterhelfen, schon mal vielen Dank vorab!

Thema: Xml Datenaustausch zwischen Java Web Service und .Net Client
Am im Forum: Netzwerktechnologien

mittlerweile scheint mir die ursache klar zu sein, weis aber nicht wie ich es beheben kann.

ich habe zwei dateien, ein *.crt file das beinhaltet keinen private key, und ein file das beinhaltet das zertifikat und den key, die dateiendung dieses files ist *.txt. beim test mit soapUI wird dieses txt file angegeben und der webservice aufruf funktioniert.

in .net muss man das file ja in den windows zertifikatsspeicher imortieren und dann im app.config meines webservice client angeben. bisher habe ich das *.crt file im windows zertifikatsspeicher abgelegt, ist aber nutzlus für die authentifizierung beim webservice, da dieser das file mit dem zertifikat inkl private key, also das txt file benötigt.

Problem: das txt file läßt sich nicht im windows zertifikatsspeicher installieren. es kommt die Fehlermeldung "Der Dateityp ist nicht erkennbar.". Vermutlich weil es ein txt file ist. Wenn ich die dateiendung umbenne in p12 oder pfx ändert das leider auch nichts.

ich habe leider keinen einfluss auf die erstellung der zertifikatsdaeiten und muss mit denen klar kommen die mir gegebern sind.

könnt ihr mir sagen wie ich txt file in ein korrektes format bekomme?
andere idee wäre noch ein custombindung zu implementieren, so dass nicht das zertifkiat aus windows zertifikatsspeicher genommen wird, sondern von einem speziellen Festplattenort?

Thema: Xml Datenaustausch zwischen Java Web Service und .Net Client
Am im Forum: Netzwerktechnologien

Danke für die Info!
Mittlerweile habe ich das auch rausgefunden, wenn man die WSDL als Servicer Referenz hinzufügt legt VS automatisch die app.config an, in der man dann die ganzen Bindings etc sieht die es auch be WCF gibt :)

In der app.config konnte ich jetz auch das Zertifikat angeben und wo es zu finden ist. Das funktionioert, aber sobald ich einen Aufruf an den Webservice mache kommt es zur Excpetion: Die Anfrage wurde abgebrochen: Es konnte kein geschützter SSL/TLS-Kanal erstellt werden.

Der Vorschlag der überall im Inet zu finden ist, den ServerCertificateValidationCallback zu implementieren und return true zu machen funkioniert nicht, der callback wird bei mir nie aufgerufen.

Kann mir jemand bitte sagen was falsch läuft?

Thema: Zu Java Webservice verbinden und Methoden aufrufen
Am im Forum: Netzwerktechnologien

update: Problem 2 habe ich mittlerweile nach weiterem einlesen in webservices und soap verstanden und weis nun wie ich die klassen aus der wsdl verwenden kann. ich muss die klasse instanziieren die den service representiert, dort werden dann alle methoden angeobten, code habe ich wie folgt geändert.


ServicePointManager.Expect100Continue = ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;
ServicePointManager.ServerCertificateValidationCallback =
                ((sender, certificate, chain, sslPolicyErrors) => true);

QcsiWebService.WSAdapterBCIClient webService = new QcsiWebService.WSAdapterBCIClient();
string response = webService.helloWorld();
Console.WriteLine(string.Format("Result of hello world requuest: {0}", response));

Mit diesem Code kommt es nicht mehr zur gleichen Exception wie bei Problem 1 beschrieben, dafür kommt es zu einer ähnlichen Exception:

System.ServiceModel.Security.SecurityNegotiationException: Es konnte kein sicherer Kanal für SSL/TLS mit Autorität "xyz.com" eingerichtet werden. ---> System.Net.WebException: Die Anfrage wurde abgebrochen: Es konnte kein geschützter SSL/TLS-Kanal erstellt werden.

Ich habe ein srt zertifikat, dass wird u.a. auf der serverseite dafür benötigt, um einen gewissen datenbestand für den webservice freizuschalten (jeder kunde erhält also ein anderes zertifikat).
Aber wie ich dieses Zertifikat in dem oben dargestellten Code einbauen kann habe ich nicht herausgefunden.

Mit diesem Code hier kann man ein Zertifikat angeben:


((HttpWebRequest)httpWebRequest).ClientCertificates.Add(mVerifyCert);
Aber eigtl brauche ich doch keine expliziten http requests mehr, da ich ja meine service instanz siehe code oben habe.

Thema: Xml Datenaustausch zwischen Java Web Service und .Net Client
Am im Forum: Netzwerktechnologien

Danke für deine Antwort!
Das mit der Xml Struktur im CDATA meine ich gelesen zu haben, dass das nicht unüblich ist!? Gibts noch andere Meinungen dazu?

Also mit WCF hat das ganze wohl gar nichts zu tun, weil der service wohl ein (java) soap ist. woran auch immer man das erkennt?

Thema: Zu Java Webservice verbinden und Methoden aufrufen
Am im Forum: Netzwerktechnologien

Ich komme einfach nicht klar und benötige Eure Hilfe :(

Habe zwei Probleme, aber kurz zur Ausgangssituation:
Ich habe eine Konsolenapplikation erstellt. Habe eine WSDL als Datei vorliegen und mit Add Service Reference eingebunden.

Problem 1: https Verbindung aufbauen:
Das scheitert beim Aufruf von


WebResponse webResponse = httpWebRequest.GetResponse();  
mit der Execption: System.Net.WebException: Die Anfrage wurde abgebrochen: Es konnte kein geschützter SSL/TLS-Kanal erstellt werden.

laut Google sollte folgender Code Abhilfe schaffen:


ServicePointManager.Expect100Continue = true;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;
ServicePointManager.ServerCertificateValidationCallback = delegate(Object obj, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors) { return (true); };
aber leider springt er nicht mal in den delegate handler (habe diese inline zeile mit dem delegate auch schon als methode ausprogrammiert und haltepunkt gesetzt,aber da springt er nicht rein, d.h. es kommt nich mal zur Zertifikat Überprüfung)

Problem 2: wie ruft man dann die methoden des Webservices auf? Dazu kann ich die Klassen der WSDL als Objekte anlegen, aber wie kommt es nun zum Aufruf des Service? Bin aus google nicht schlau geworden wie die aus der WSDL erstellten Typen verwenden kann? Muss man die irgendwie in ein Xml Dokument packen und dann einen neuen httpwebrequest verpacken?
Ein Code Beispiel was ich meine:


QcsiWsdl.helloWorldRequest helloWorldRequest = new helloWorldRequest();
QcsiWsdl.helloWorldResponse helloWorlResponse = new helloWorldResponse();
Methoden gibt es keine auf den beiden Objekten. Ich verstehs nicht was mir die Objekte bringen.
Mit dem Tool SoapUI, sieht man den XmlRequest umhüllt in Envelops und dazu als Antwort gültiges XmlResponse mit helloworld Inhalt umhüllt in Envelopes Elementen.

Als Zusatzinfos es handelt sich um einen Java Webservice auf den ich keinen Einfluss habe.
Des Weiteren der Webservice hat zwei Adressen, eine ungesicherte http Adresse, über die ich mir die WSDL holen konnte,als Datei abgespeichert und als Service Referenz hinzugefügt. Die zweite Adresse ist eine gesicherte https Adresse, diese scheint wohl nur für die WebService Kommunikation da zu sein (und späteren Produktivbetrieb), hier erhält man nicht die wsdl wenn man die adresse im browser eingibt. Oder müsste man diese im Browser sehen wenn man das Zertifikat installiert?

Hier noch mein kompletter Code den ich zum Verbindungsaufbau verwende:


ServicePointManager.Expect100Continue = true;
            ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;
            ServicePointManager.ServerCertificateValidationCallback = delegate(Object obj, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors) { return (true); };
            HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(Settings.Default.WebServiceUrl);
            mVerifyCert = new X509Certificate2(Settings.Default.CertificateFileNameFull);
            httpWebRequest.ClientCertificates.Add(mVerifyCert);
            WebResponse webResponse = httpWebRequest.GetResponse();

Und hier das Request Dokument für hello world was mir soapUI anzeigt

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:bci="http://xyz.com/">
   <soapenv:Header/>
   <soapenv:Body>
      <bci:helloWorld/>
   </soapenv:Body>
</soapenv:Envelope>
und der response dazu:

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
   <S:Body>
      <ns2:helloWorldResponse xmlns:ns2="http://xyz.com/">
         <return>Hello World</return>
      </ns2:helloWorldResponse>
   </S:Body>
</S:Envelope>

Thema: Xml Datenaustausch zwischen Java Web Service und .Net Client
Am im Forum: Netzwerktechnologien

kleines update: die klassen konnte ich mit xsd.exe erstellen :) (trotzdem gibt es noch andere wege wie man dies realisieren kann?)
ansonsten stehen die anderen fragen noch offen...

Thema: Xml Datenaustausch zwischen Java Web Service und .Net Client
Am im Forum: Netzwerktechnologien

Hallo zusammen, hoffe ihr könnt mir etwas Licht ins Dunkel bringen.

Ich muss auf einen Java Web Service (jaxws) per C# und .net 4.0 zugreifen, in einem der Aufrufe erhalte ich im Response ein ![CDATA[.....]]. Der content des CDATA ist ein XML, wie der Java Web Service dieses erstellt hat, kann ich nicht sagen(ist die Info wichtig?), muss auch noch erwähnen dass ich von Java keine Ahnung habe, sollte aber auch nicht notwendig sein. Das Schema zum XML habe ich.

Kann ich nun mit .net Serializern (welcher wäre zu empfehlen, auf was ist zu achten) oder anderen Tools (xsd.exe hab ich gelesen, ist das heutzutage die vorgehensweise?) die C# Klassenstruktur automatisch erstellen?
Wie funktioniert das genau? Muss wohl irgendwie mit dem XSD funktionieren oder gibt es da andere Wege?
Gibt es Kompatibilitätsprobleme?
Danach sollte es möglich sein gegen diese Typen impelementieren zu können!?
Und wie erstellt man zur Laufzeit die Objekte?

Und andersherum muss ich auch wiederum diese Objekte wieder als XML serialisieren und in das CDATA stecken.
Wie funktioniert das?

Hab noch nicht viel, mit Web Services gemacht. Die WSDL des Web Services muss ich doch einfach nur als Service Reference hinzufügen um Zugriff auf die Services des WS zugreifen zu können!? Muss man ein spezielles Projekttemplate verwenden?
Gibt es hier Komptibilitätsprobleme zwischen Java und .net.

Vielen Dank!

Thema: Bestimmtes Bit in einem Bitfeld ersetzen?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

ah stimmt, habs endlich kapiert!

Vielen Dank!

Thema: Bestimmtes Bit in einem Bitfeld ersetzen?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Danke für die schnellen Antworten.
So ganz sicher bin ich mir aber noch nicht. Ich versuch das von mir erst genannte Beispiel mit Herbivore´s Beschreibung:

1) Maske: 0100 0000

2) Bit 6 laus Bitfeld1 öschen:

  1011 1111
& 0001 0101
-----------
= 0001 0101

3) Mit Maske Bits aus Bitfeld2 löschen:
  1011 1111
& 0100 0000
-----------
= 0000 0000

4) Zwischenergebnisse verodern:
  0001 0101
| 0000 0000
-----------
= 0001 0101
War das so korrekt?

Thema: Bestimmtes Bit in einem Bitfeld ersetzen?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hi,

ich komm einfach nicht drauf.
Bsp:
Bitfeld1: 0001 0101
Bitfeld2: 0100 0000


Ziel: Bit6 aus Bitfeld1 mit Bit6 aus Bitfeld2 setzen = 01010101.

Bit6 aus Bitfeld1 soll in jedem Fall ersetzt werden, d.h. auch wenn z.B.
Bitfeld1=0101 0101 und
Bitfeld2=0000 0000
= 0001 0101

Mit welcher Bitoperation gelingt das für beide Beispiele? Mit AND, OR, XOR komme ich nicht auf die Lösung. Und wie sieht dann der Code in C# dazu aus?

Hoffe Ihr könnt mir helfen...

Danke!

Thema: Eigene Konstanten im Designer verwenden?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

da noch niemand geantwortet hat, heisst das es geht definitiv nicht oder weis es nur niemand?

Thema: Eigene Konstanten im Designer verwenden?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

hallo,

per google und hier im forum habe ich nichts zu folgender Frage gefunden.
ist es möglich Konstanten die man in einer "GlobalConstant" - Klasse definiert hat, im Visual Studio Designer, also zum Setzen von Properties von Controls verwenden kann? Bsp: Man definiert Spaltennamen einer Tabelle in einer Const-Klasse und verwendet diese dann, wenn man mit dem Designer einen DataTable mit entpsrechenden Spalten erzeugen möchte, zur Benennung der Spaltennamen.

danke!

Thema: Objekte identifizieren während dem Debuggen?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

@kleines_eichhoernchen: bezieht sich der Auto_Increment auf alle innerhalb meiner Anwendung (also meines Prozesses) erzeugten Objekte oder gilt dieser für alle Objekte aller Prozesse die auf dem Betriebssystem Instanziiert sind?
Ich vermute Prozessbezogen, weil ich in meiner Anwendung z.B. Objekte untersucht habe die die Id 9975 haben, heisst das also dass dieses Objekt dann das 9975ste erzeugte Objekt meiner Anwendung ist? Das bedeutet doch dann widerum, dass ich noch bis zu der von herbivore angesprochen 4 Mrd Grenze noch gut luft habe.

Die Id bleibt auch garanetiert für die lebensdauer dieses Objektes oder kann diese durch irgendwelche Umstände im Laufe des Programms sich ändern?

Für diese Id könnte man sich doch ein Plugin für VS bauen, dass diese Id eines Objekts immer in einer Spalte des Überwachen-Fensters darstellt!?

Thema: Objekte identifizieren während dem Debuggen?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

danke an herbivore für die erklärung. da du keine sonstigen alternativen erwähnt hast, gehe ich mal davon aus, dass du auch keine kennst!?

Thema: Objekte identifizieren während dem Debuggen?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hallo,

habe jetz schon ne weile im Netz und verschiedenen Foren recherchiert. Zunächst zu meiner Frage. Ich möchte während dem Debuggen mit Visual Studio 2005 (meine Projekte werden jedoch mit .Net 1.1 übersetzt) im Debugger sehen mit welchem Objekt ich es konkret zu tun habe. Sprich ich möchte zwei Instanzen einer Klasse im Debugger identfizieren können. Allerdings möchte ich hierfür keine Klassenvariablen als ID, oder GetHashCode oder ähnliches einsetzen.

Ich hab im Netz Beschreibungen gesehen dass dies mit VS2005 unc C# Projekten geht in dem man Rechtsklick auf die Variable im Überwachungsfenster macht und auf Objekt-Id erstellen klickt. Dies funktioniert aber anscheinend erst ab .Net2.0. Ich übersetze meine C#-Projekte aber mit .net 1.1 und dort funktioniert dies nicht.

Gibt es vielleicht ein Plugin für VS das dem Debugger diese Information hinzufügt? Oder habt ihr noch andere Vorschläge?

Danke!

Thema: Projekte nur bei Änderungen übersetzen
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Ja das ist klar. Nur wenn man F5 drückt Debuggen Starten, dann wird doch alles übersetzt, egal ob geändert oder nicht. In 2008 scheint dies nicht der Fall zu ein.

Thema: Projekte nur bei Änderungen übersetzen
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Danke für deine Hilfe!

Ehrlich gesagt weis ich nicht genau was du mit Compileoutput erhöhen meinst?
Aber daran kann es eigentlich auch nicht liegen, da bei meinen Kollegen genau dasselbe Problem auftritt. Und es ist ein deutlicher zeitlicher Unterschied wenn man die Dauer des Übersetzungsvorgangs von VS2005 mit dem in VS2008 vergleicht, wenn man nur eine Änderung an einem Projekt von ingesamt zwölf Projekten durchführt.

Kann es sein dass hier dass Stichwort "Incremental Build" eine Rolle spielt? Oder geht das in ne andere Richtung?

Thema: Projekte nur bei Änderungen übersetzen
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hat denn niemand einen Tipp? Oder geht es in VS2005 einfach nicht?

Thema: Projekte nur bei Änderungen übersetzen
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hallo,

zu meiner Frage bin ich hier im Forum und im Netz nicht fündig geworden, vielleicht könnt Ihr mir diese beantworten.

Ausgangssituation: Man hat eine Projektmappe mit mehreren Projekten, die bei Klick auf Ausführen entsprechend ihrer Projektabhängigkeiten der Reihe nach übersetzt werden.

In VS2008 ist es so, dass nur Projekte übersetzt werden, die man auch geändert hat.

In VS2005 jedoch, werden grundsätzlich alle Projekte übersetzt. Dies kann ziemlich langwierig sein, wenn man viele Projekte übersetzt werden müssen, an denen jedoch kein Code geändert wurde.

Kann man dies irgenwie für VS2005 so hinbekommen wie in VS2008, dass beim Ausführen nur die Projekte übersetzt werden, an denen man Code-Änderungen vorgenommen hat?

Vielleicht muss ich noch erwähnen, dass ich die Projekte zwar mit VS2005 entwickle,aber per MSBee mit .net 1.1 übersetze. Aber in VS2008 klappt dies wie gesagt auch. Nur kommt dies in nächster Zeit bei uns noch nicht in Einsatz.

Vielen Dank!

Thema: Rechtsklick verhindern auf ein Fenster in der Taskbar?
Am im Forum: GUI: Windows-Forms

danke für die raschen antworten. also das wurde bisher so von meinen kollegen implementiert. müsst ich mal ein kleines redesign überdenken.

habs jetz vorerst mal anders gelöst. ich entferne den rahmen der form mit borderstyle.none und mit ShowInTaskbar = false. werde aber auch nochmal den windows.forms.timer testen, hab ich noch nicht dran gedacht. unter den windowsMessages kann ich mir nichts genaus vorstellen, müsst ich mich mal einlesen.

Thema: Rechtsklick verhindern auf ein Fenster in der Taskbar?
Am im Forum: GUI: Windows-Forms

Hallo,

habe folgendes Problem. Ich habe eine Applikation, die bei einer bestimmten Benutzeraktion eine neue modale Form öffnet, die eine bestimmte Wartezeit geöffnet ist. um so Benutzereingaben für die Hauptapplikation zu unterbinden. Das funktioniert auch alles soweit. Die modale Form, ich nenn sie jetz mal Waitform besitzt zwei Timer. Ein Timer sorgt dafür die Waitform 60 Sekunden lang anzuzeigen und der zweite Timer stellt die bisher verstrichene Zeit, die bis jetzt gewartet wurde, d.h. z.b. 22s von 60s dar und wird natürlich jede Sekunde aktualisiert. Das funktioniert soweit alles einwandfrei.

Nun zum eigentlichen Problem, wenn ich nun während die Waitform geöffnet ist, einen rechtsklick auf deren Fenster in der Taskleiste mache oder einen Rechtsklick auf die Titelleiste der Waitform und das Kontextmenü so lang geöffnet lasse bis die 60 Sekunden abgelaufen sind, schließt sich die Waitform nicht, sondern zählt über die 60 Sekunden hinaus, d.h. es wird dann z.b. 65s von 60s angezeigt und zählt so lange weiter bis ich einen Klick mit der Maus auf irgendeine Fläche des Bildschirms mache.

Für das offen halten der verwende ich den System.Timers.Timer (habe aber auch schon den Threading.Timer verwendet ohne Erfolg), für die Sekundenanzeige verwende ich auch einen System.Tiimers.Timer(ebenfalls den Threading.Timer ausprobiert ohne erfolg).

Was ich ausschließen kann ist, dass es nicht am Focus liegt, die Waitform verliert zwar den Focus beim Rechtslick auf deren Fenster in der Taskleiste, aber bei einem Rechtsklick auf die Titelleiste der Waitform behält sie den Focus. Wie beschrieben tritt in beiden Fällen das Problem auf.

Vielen Dank schon mal.

Thema: "Alle Verweise suchen" Funktion in VS in abgeleiteten Klassen?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

hallo nochmal, ist schon eine weile her, aber will hier nochmal meine letzten erfahrungen kundtun.

das mit dem grundsatz der objektorientierung kann ich nachvollziehen, jedoch sollte diese funktion diesen grundsatz nicht berücksichtigen. was sie meinen erfahrungen zur folge auch nicht tut.

ich habe festgestellt, dass visual studio sehr wohl auch in abgeleiteten Klassen nach vererbten membern sucht. jedoch ist dies sehr sporadisch und nicht nachvollziehbar wann VS dies macht und wann nicht.

manchmal ist es so, dass dies funktioniert und beim nächsten verusch alle verweise zu finden, kommt gar kein ergebnis. ich bin nicht schlau daraus geworden warum und wieso das so ist.

habt ihr ähnliche erfahrungen machen können? bzw. gibt es vielleicht ein plug-in für vs dass dies besser löst? oder wie handhabt ihr das?

der umweg über den compiler und feld umbennen geht natürlich auch, aber ist unkomfortabel und bei unseren großen projekten auch sehr zeitaufwendig.

Thema: "Alle Verweise suchen" Funktion in VS in abgeleiteten Klassen?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hallo,

ich habe eine Frage an die User von VS (2005).

Ich meine folgendes festgestellt zu haben.

wenn ich in einer Basisklasse ein protected Feld deklariere und dieses in abgeleiteten Klassen verwende und nun die Funktion "Alle Verweise suchen" (find all references) ausführe, kommen im Ergebnis der Suche nur die Verweise die innerhalb der Basisklasse vorhanden sind, aber nicht die die in den abgeleiteten Klassen.

Gibt es eine Einstellung die mir auch die Verweise in abgeleiteten Klassen anzeigt? Klar geht das mit dem normalen Suchen, wäre aber schöner wenns mit der alle verweise suchen funktion ginge.

auf jeden fall ist es wichtig zu wissen, dass diese funktion sich so verhält und nicht alle verweise.

Also wäre super wenn mir jemand diese Beobachtung bestätigen könnte bzw. eine Lösung dafür hätte.

mfg

Thema: Drucken eines Controls?
Am im Forum: Rund um die Programmierung

also gleich n komplett neue reporting lösung zu kaufen nur um einen ausdruck auf ne seitgröße anzupassen kann glaub auch nicht sonderlich wirtschaftlich sein.

naja, aber trotzdem tut er nicht wie ich will. ich find den fehler net. ich muss des bis nächste woche hinbekommen, da is abgabe meiner diplomarbeit. also ich wäre für jeden tipp dankbar. hat ja mit programmierhans seiner lösung schon ganz gut geklappt bis hier her.

Thema: Drucken eines Controls?
Am im Forum: Rund um die Programmierung

ich komm net weiter, langsam wirds frustrieren.
hat denn niemand n tipp?

Thema: Visio: Attribute und Methoden der Klassen lassen sich nicht löschen??
Am im Forum: Rund um die Programmierung

falls es jemanden interessiert:

hab jetz zwei lösungen gefunden:
1. In die Eigenschaften der Klasse gehen und dort unter Attribute bzw. Operationen alle Einträge einzeln löschen oder

2. Rechtsklick-> Optionen für Shape-Anzeige und dort bei Unterdrücken die entsprechenden Haken setzen.