Laden...
L
Benutzerbeschreibung

Forenbeiträge von logistikgott23 Ingesamt 24 Beiträge

09.08.2012 - 10:47 Uhr

Hat wirklich keiner eine Idee oder einen Einstiegspunkt?

08.08.2012 - 15:02 Uhr

Hallo Zusammen,

ich habe ein Problem und finde im Netz keinen richten Startpunkt bzw. ein Codefragment mit dem ich beginnen könnte.

Problembeschreibung:

Ich muss den Hash einer Bytefolge signieren mit ECDSA. Hashfunktion wird SHA-256 verwendet.
Ich habe von OpenSSL eine generierte "PrivatKey.pem" Schlüsseldatei die ich verwenden muss. Pem-Dateien kann ich aber nicht so einfach in .Net laden. Deshalb bin ich zu BouncyCastle gekommen. Die Pem-Datei enthält:


-----BEGIN EC PARAMETERS-----
....
-----END EC PARAMETERS-----
-----BEGIN EC PRIVATE KEY-----
...
-----END EC PRIVATE KEY-----

Hier finde ich aber auch keinen Beispielcode für .pem-Dateien mit EC PARAMETERS. Ich ahbe auch schon einiges propiert aber ich bekomme den Schlüssel und die Kurvenparameter nicht geladen.

Zur Prüfung der Signatur steht ebenfalls eine Datei "publicKey.pem" zur Verfügung.

Eine Umwandlung der .pem-Datei in ein anderes Format (z.B. ".pfx") hilft mir leider nicht.

Gerne mache ich das auch nur mit den Klassen des Frameworks 4.0 und binde keine Fremdlib (wie z.B. BouncyCastle) ein. Falls jemand weiß wie ich das nur mit den Crypto-Klassen des Frameworks hin bekomme.

Hat hier vielleicht jemand einen Ansatz für mich. Ich wäre euch sehr dankbar.

15.06.2012 - 16:10 Uhr
interface A
{
    void Log();
}

Class A : A
{
     public abstract void Log();
}

Class B : A
{
     public overide void Log()
     {...}
}

Ich möchte nun bei jedem Methodenaufruf von new B().Log() einen speziellen Code in der Klasse A ausführen. Im speziellen ein LastMessage Zeitstempel setzen. Von der Klasse A gibt es mehrere Ableitungen.

Randbedingung: Es muss mit .Net 2.0 und ohne Aspektorientierte Programmierung gehen.

Hat jemand ein Pattern oder ein Implementierungsvorschlag dazu?

10.12.2010 - 12:56 Uhr

Ja einen MemoryProfiler haben wir schon zu Rate gezogen aber das Problem nicht richtig fassen können. Problem ist auch das es nur bei großer Last auftritt und die können wir nicht simulieren und nur beim Kunden testen. Und leider ist die Exception auch nicht unbringt reproduzierbar sondern tritt eher nur zufällige in Erscheinung. GUI kann es nichts ein da es ein Service ohne Oberfläche ist.

Gibt es eine Möglichkeit eine OutOfMemoryExceptions im Large Object Heap zu umgehen bzw. was kann man dagegen tun? Wir haben schon relativ große Objekte aber können die auch nicht so einfach verkleinern.

Was gebe ich denn im Wrapperobjekt im Dispose frei, das COM-Objekt? Also muss ich das Objekt auf null setzen oder ReleaseComObject() aufrufen? Wie ich Dispose generell nutze ist mir schon klar aber nicht in Verbindung mit COM.

10.12.2010 - 12:06 Uhr

Danke für deine Einschätzung ... kannst du deine Einschätzung auch begründen warum man kein explizites GC.Collect() aufrufen sollte. Bringe ich den GC damit irgendwie "durcheinander".

Weil grundsätzlich muss das abräumen meiner Objekte ja funktionieren weil sonst würde der Speicher ja auch bei GC.Collect() nicht freigegeben werden.

Nein IDisposable ist nicht impelmentiert. Was muss ich den in Dipose() dann freigeben? Explizit das gekapselte COM-Objekt? Wird das nicht automatisch frei gegeben wenn keine Referenz mehr darauf existiert?

10.12.2010 - 11:31 Uhr

Hallo,

wir haben ein Problem mit .Net und COM und dem Garbage collector.

Wir haben einen Server der in C++ geschreiben ist und unsere Anwendung (in C# .net) greift mittels COM auf den Server zu. Alle COM-Objekte der Interop sind noch einmal als C#-Klasse gekapselt und nur auf diese kapselnden Klassen wird in der Anwendung zugegriffen. Der Einzige Zugriff auf die COM-Interop erfolgt also in diesem Wrapper.

Unter einer gewissen Last geht der Speicher und die Threadanzahl der .Net-Anwendung hoch. Sobald die Last wieder geringer ist hätte ich erwartet das der GC aufräumt und Resourcen frei gibt. Das passiert aber nicht. Geht die Anwendung wieder in einen Lastzustand läuft der Speicher weiter an und es gibt schließlich eine OutOfMemory-Exception. Die Threads sind .Net-Threads.

Wiederholt man den Test und ruft im Leerlauf GC.Collect() expliziert auf dann räumt der GC auf und der Speicher und die Threads werden abgeräumt.

Wir vermuten das es etwas mit den COM-Objekten zutun hat da sonst alle Speicherprobleme wahrscheinlich behoben wurden.

Ein Workaround wäre natürlich periodisch GC.Collect() aufzurufen. Was haltet ihr davon?

Hat schon einmal jemand mit solchen Problemen zutun gehabt und kennt Speicherprobleme in Bezug auf COM und den GC?

Vielen Dank für mögliche Infos!

16.07.2009 - 13:55 Uhr

Aber wenn ich mich nicht irre gibt

              if(a == default(T))
              {}

ein Kompilierfehler. Also wäre so ein Sprachkonstrukt doch möglich?

16.07.2009 - 13:45 Uhr

Ja stimmt, das Beispiel ist besser:

T a;
if(a == null) // oder eben a == 0 für z.B. int
{
   //do something
}
16.07.2009 - 12:44 Uhr

Hallo,

ich habe eine generische Klasse. Jetzt möchte ich eine Variable der Klasse auf null oder 0 prüfen. Abhängig des Typs von T ob es ein Referenztyp oder ein Wertetyp ist.

public class KlasseA<T> where T: IInterfaceA
{}

public class KlasseB<T> 
{
    public void Methode()
    {
      KlasseA<T> klasseA;
      // do something 
    
      if(klasseA == null) // hier könnte klasseA ja auch 0 sein wenn T z.B. ein int ist
      ....
    }
}

Gibt es eine Abfrage der Art "if(klasseA == default(T))"? Das diese Abfrage nicht geht weiß ich natürlich.
Oder muss ich eine Bedienung für KlasseA einfügen " where : class" damit sichergestellt ist das die Variable den Wert null annehmen kann?

Danke für mögliche Infos.

19.05.2009 - 17:43 Uhr

Hallo Leute,

ich suche ein Design Pattern oder eine gute Möglichkeit folgendes zu implementieren.

Eine Klasse CLASS1 kann die Interfaces IInterfaceA, IInterfaceB, IInterfaceC in beliebigen Kombinationen implementieren. Wenn ein konkretes Objekt dieser Klasse dann die Interfaces implementiert soll anhand dessen die Parameter einer Methode GetData(bool A,bool B,bool C) (außerhalb der Klasse CLASS1) gesetzt werden.

Beispiel:

public class CLASS1 : IInterfaceA, IInterfaceB, IBasic
{}

...
IBasic basic;
bool A;
bool B;
bool C;

if(basic is IInterfaceA) { A = true}
if(basic is IInterfaceB) { B = true}
if(basic is IInterfaceC) { C = true}

this.GetData(A,B,C)
....

Aufruf: GetData(true, false, true)

Das möchte ich gerne anders implementieren (ohne die vielen ifs) und vorallem erweiterbar wenn noch ein weiteres Interface hinzu kommt.

Für Anregungen wäre ich sehr Dankbar!

09.12.2008 - 14:51 Uhr

Also ich habe jetzt die Generics der Forms-Klasse ausgebaut und sonst nichts verändert und nun funktioniert es.

Kann es vielleicht doch an den Generics liegen? Ich arbeite noch unter .Net-Version 2.0.

09.12.2008 - 10:21 Uhr

Ist die Form Localizable gesetzt?
-Ist auf true gesetzt

Sind alle resx-Dateien im Projektmappenexplorer als dem Projekt zugeordnet markiert?
-Ist auf "Embededd Resource" gesetzt

Für weitere Ideen wäre ich sehr dankbar ... 😉

08.12.2008 - 18:25 Uhr

Hallo Leute,

ich habe ein Forms der .Net Version 2.0 was Generic verwendet (

partial class ProtocolSettingsPage<T> : Form where T : ProtocolSettings

).
Das Forms ist "automatisch" lokalisiert mit einer Resource-Datei.

Visual Studio legt dann automatisch folgende Codezeile im

InitializeComponent()

an:

System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager (typeof (ProtocolSettingsPage<T>));

Wenn der vom Studio generierte Code allerdings auf die Resource zugreifen will
wird folgende Exception geworfen:

System.Resources.MissingManifestResourceException: Could not find any resources appropriate for the specified culture or the neutral culture. Make sure "DriverUtil.State.ProtocolSettingsPage1. resources&quot; was correctly embedded or linked into assembly &quot;DriverUtil&quot; at compile time, or that all the satellite assemblies required are loadable and fully signed. at System.Resources.ResourceManager.InternalGetResourceSet(CultureInfo culture, Boolean createIfNotExists, Boolean tryParents) at System.Resources.ResourceManager.GetResourceSet(CultureInfo culture, Boolean createIfNotExists, Boolean tryParents) at System.ComponentModel.ComponentResourceManager.FillResources(CultureInfo culture, ResourceSet&amp; resourceSet) at System.ComponentModel.ComponentResourceManager.FillResources(CultureInfo culture, ResourceSet&amp; resourceSet) at System.ComponentModel.ComponentResourceManager.FillResources(CultureInfo culture, ResourceSet&amp; resourceSet) at System.ComponentModel.ComponentResourceManager.ApplyResources(Object value, String objectName, CultureInfo culture) at System.ComponentModel.ComponentResourceManager.ApplyResources(Object value, String objectName) at DriverUtil.State.ProtocolSettingsPage1. InitializeComponent()
at DriverUtil.State.ProtocolSettingsPage`1..ctor(T protocolSettings)
....

Die Resourcedatei ist definitiv vorhanden. Kann man Form mit generischen Parametern nicht automatisch lokalisieren?

Vielen Dank für mögliche Informationen!

13.11.2008 - 09:36 Uhr

Hallo Leute,

habe eine Frage zu ASP.Net mit C#.

Und zwar kann ich in der Page_Load-Methode irgendwie feststellen von welcher Seite jemand zu meiner Seite bekommen ist. Sprich mein Provider leitet alle Seitenaufrufe an eine Standartdomain (www.xyz.de) weiter. Ich habe jetzt aber noch zusätzliche Domains (z.B. www.ghj.de) und möchte in der Page_Load-Methode abhängig davon über welche Seite der Benutzer zu mir gekommen ist eine ander Startseite anzeigen.

Habe im Forum und bei google nix passendes gefunden. Wahrscheinlich die falschen Suchbegriffe eingegeben. 😦

Danke für mögliche Infos!

03.11.2008 - 07:59 Uhr

Vielen Dank für deine ausführlichen Infos.

Ich werde dann mal einen kleinen Prototypen bauen und die Performance testen.

31.10.2008 - 16:20 Uhr

Naja ein Webhoster der meine Seite im Internet auf seinen Servern hostet wie z.B. 1&1, QualityHosting, Domainbox usw.

Weil die ja teilweise Einschränkungen der Benutzerrechte haben.

31.10.2008 - 15:24 Uhr

Hat jemand Erfahrungen mit dem Hosting von Umbraco bei einem Hoster wie QualityHosting. Weil QualityHosting konnte von keinen Erfahrungen dazu berichten. Nur mit DNN.

Vielen Dank für Infos!

31.10.2008 - 15:00 Uhr

Ja die DAL neu zu schreiben wäre auch meine Option aber das ist eine Vorgabe das die so bleiben soll. Zu deinen Fragen:

Soll der geplante zentrale "DAL-Kapsel-WCF-Dienst" direkt auf der Maschine DB-Server laufen?
-> Ja das war mal so geplant. Die DAL ist eine passive Komponente und braucht somit sowie so noch einen Prozess in dem sie laufen soll.

Hat die Applikation Clients, die mit den neuen .NET Applikationsservern kommunizieren sollen und damit indirekt die DAL nutzen?
-> Die Server haben keine direkten Clients außer zur Überwachung. Sie sind für eine Datenauswertung da.

Ist die DAL statuswahrend oder statuslos implementiert?
-> Die DAL ist komplett zustandslos.

Werden Datensätze in typisierter oder untypisierter Form mit der DAL ausgetauscht?
-> In typisierter Form

Ist die DAL threadsicher implementiert? (Bei einer DAL, die z.B. ursprünglich für eine 2-Schicht Anwendung entwickelt wurde, kann man davon nämlich nicht ausgehen)
-> Das ist nicht ganz gesichert.

Vielen Dank für mögliche Infos!

28.10.2008 - 08:53 Uhr

Von wollen kann keine rede sein ... 😉

Also die DAL ist halt in C geschreiben und wird hier von den anderen .Net-Komponenten via COM-Technik angesprochen.
Ich muss jetzt zwei Server bauen die ebenfalls diesen Layer ansprechen und das über das Netzwerk. Ich möchte aber gerne in meinen .Net-Servern kein COM benutzen. Sondern die Server sollen per WCF kommunizieren. Ich möchte die COM-Schicht kapseln und für die Server eine Facade auf die COM-Schicht zu verfügung stellen.
So habe ich keine COM-Technik über physikalische Grenzen hinaus und sollte der DAL mal abgelöst werden durch eine .Net-Implementierung kann ich die Komponeten austauschen weil meine Facade dann ja trotzdem gleich bliebt.

Ich bin mir aber nicht sicher ob der Wrapper um die COM-Schicht genug skaliert und performant genug ist und suche deshalb Beispielarchitekturen oder eben
Best Practices.

27.10.2008 - 16:20 Uhr

Hallo Leute,

ich habe eine Architektur-Frage. Und zwar möchte ich zwei inhaltlich verschiedene Applikation-Server an eine DCOM-Schicht anhängen. Die Server sind in C#.Net geschrieben und können auf physikalisch unterschiedlichen Maschinen laufen. Ich würde die Kommunikationsschicht gerne mit der WCF realisieren.
Gibt es hierfür vielleicht irgendwelche Beispielarchitekturen oder Implementierungen. Also Best Practices dazu.

Vielen Dank für Links oder sonstige Meldungen im Voraus.

15.10.2008 - 12:22 Uhr

Hallo Leute,

gibt es eine Möglichkeit ein Event zu registrieren das ausgelöst wenn eine
Exception geworfen wird die mit einem try ... catch abgefangen wurde.
Ich möchte also alle behandelten Exceptions mitbekommen.

Möglichkeit für unbehandelte Exception mit
-System.AppDomain.UnhandledException
-System.Windows.Forms.Application.ThreadException
-System.Web.HttpApplication.Error
sind bekannt.

Vielen Dank für eine mögliche Information.

04.09.2008 - 17:33 Uhr

Danke!

Object.ReferenceEquals(objA, objB) ist das was ich gesucht habe.

03.09.2008 - 08:28 Uhr

Hallo,

ich habe eine Frage. Ich suche eine Möglichkeit abzufragen ob ein Objekt mit identischem Inhalt ein Clone ist oder ob die Variable auf die gleiche Referenze zeigt.

Vielen dank für die Information.