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 RaphaelH
Thema: Ist es schneller, bestimmte Operationen in C++ zu schreiben und dies per C# aufzurufen?
Am im Forum: Rund um die Programmierung

Hallo zusammen,

C++ ist denke ich ja schneller als C# da unmanaged und so..

Aber ich frage mich, wäre es immernoch schneller einige Sachen in C++ zu machen und dies per C# aufzurufen?

Also z.b. SQL Abfragen über C++ Dll auszuführen.

Thema: Unbekannte Dateiarten auslesen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hey,

Meine Frage ist, wie kann man unbekannten Datentyp auslesen und verwerten?

Z.b. Spiele, diese haben ja meistens irgendwelche Dateien, .dat, .aup, .wasauchimmer

Wenn man diese öffnet z.b. Notepad kommen da ja nur kryptisches Zeug raus :)

Meine Frage, wie kann man so etwas deserialisieren, ohne zu wissen was es eigentlich ist.. Ich habe schon öfter gesehen, dass manche Leute für gewisse Spiele eine art Daten-Extractor programmiert haben. Jedoch kann ich mir nicht vorstellen wie man da vorgeht?

Gruß,

Raphael

Thema: Große Datenmengen über 32 Bit ODBC
Am im Forum: Datentechnologien

Ich liebe solche konstruktiven Moderatoren.

Wenn du nichts konstruktives zu sagen hast, dann lass es.

Thema: Große Datenmengen über 32 Bit ODBC
Am im Forum: Datentechnologien

Sagt wer? Schonmal was von SSD gehört? HDD war gestern ;)

Thema: Große Datenmengen über 32 Bit ODBC
Am im Forum: Datentechnologien

Wie wäre es, mit einer WCF Architektur

Server - 32 Bit -> Bei Aufruf liest der gewisse Tabellen und schreibt diese in Dateien.

Client - 64 Bit -> Ruft Server auf und wartet bis Server fertig und bekommt als Antwort den Datei-Namen der Tabelle um diesen einlesen zu können..

Aber dann würd man immernoch serialisieren.. Da kommt man wohl nicht rum oder?

Thema: Große Datenmengen über 32 Bit ODBC
Am im Forum: Datentechnologien

Wäre da eine WCF Client-Server Architektur von Vorteil? Denn das wäre ja relativ schnell realisiert.

Als Binding netNamedPipeBinding, da es wahrscheinlich auf dem gleichen Rechner läuft und als TransferMode Streamed?

Aber Streamed wäre ja nur nützlich sofern man auch einen Stream hat..

Jedoch ODBC macht ja keinen Stream... :/ Ne Idee? :)

Thema: Große Datenmengen über 32 Bit ODBC
Am im Forum: Datentechnologien

1. Ich lade nicht die komplete Datenbank in den Speicher.
2. Ich denke diese Diskussion läuft jetzt in die falsche Richtung und da es in nichts konstruktivem endet, bitte ich den Thread zu schließen.

Danke trotzdem :)

Thema: Große Datenmengen über 32 Bit ODBC
Am im Forum: Datentechnologien

Naja bei einer 64 Bit Anwendung wären die Grenzen des Speichers ja hoch genug.

Thema: Große Datenmengen über 32 Bit ODBC
Am im Forum: Datentechnologien

Nein, ich möchte nicht eine eigene Datenbank schreiben. Ich möchte lediglich die Daten verarbeiten. Mit Ihnen rechnen. Und dazu ist die vorhandene Datenbank einfach veraltet und auch nicht gerade die performanteste..

Und natürlich kann ich alles durch den ODBC Treiber jagen, dennoch bin ich eben auf 32 Bit auch beim Programm eingeschränkt und somit wenn mir der ODBC Treiber mehrere Gigabyte in mein Programm jagt, dann jagt mein Programm gegen die nächste OutOfMemoryException :)

Thema: Große Datenmengen über 32 Bit ODBC
Am im Forum: Datentechnologien

Also ein Beispiel

Ich habe:

Tabelle X
-ID
-Status
-Saison
-WertX

Tabelle Y
-ID
-WertY

Das Programm soll dann mit diesen Tabelle "rechnen"

Zum Beispiel, Average über X.WertX wo X.Saison = 2011Q1/2 und Y.WertY > 100

Natürlich könnte man dies über SQL in der Datenbank machen. Jedoch kann diese Datenbank nicht gerade sehr viel und außerdem brauche ich gewisse Tabellen öfter (5-10x) dadurch denke ich temporäres speichern wäre sinnvoll.

Die "roh" Daten kommen aus einer Datenbank (Progress OpenEdge - SQL-92, leider wie gesagt nur 32Bit ODBC)

Thema: Große Datenmengen über 32 Bit ODBC
Am im Forum: Datentechnologien

Ich brauche wirkliche alle Daten, da Sie öfter als 1 mal gebraucht werden. Und Sie jedesmal erneut zu laden, würde nur mehr Zeit kosten!

Thema: Große Datenmengen über 32 Bit ODBC
Am im Forum: Datentechnologien

Hallo zusammen,

Ich hab ein Problem. Und zwar muss ich größere Datenmengen (mehrere Gigabyte) verarbeiten..

Das Problem, ich habe nur einen 32 Bit ODBC Treiber zur Verfügung. Somit werd ich OutOfMemoryException schnell begegnen..

Ich habe mir gedacht, zur Verarbeitung könnte ich ein 64 Bit Applikation erstellen und zur Datenbeschaffung ein 32 Bit Applikation..

Jedoch würde ich dann trotzdem das Problem noch haben, wenn ich eine Tabelle lese, die eine gewisse größe hat.. Natürlich könnte man diese dann "splitten". Aber das müsste man dann ja irgendwo definieren, da das Programm nicht weiß, ist die Tabelle jetzt zu groß? Jedoch definieren, wann er was splitten soll, ist auch nicht grad die tollste Methode! Und das Programm gegen ne Exception laufen lassen und dann zu splitten bis zur nächsten Exception etc, wäre ja absolut Performance-schädigend..

Noch ne andere Idee, wäre über irgendeine Schnittstelle zwischen den Programme, einfach vom 32 Bit ins 64 Bit die Rows zu schieben..

Vielleicht hattet ihr damit schonmal Probleme und irgendwelche Lösungsvorschläge! :)

Gruß,

Raphael

Thema: Netzwerk in 2 Subnetze aufteilen
Am im Forum: Smalltalk

Kannst du nicht einfach Rechte vergeben auf deinem NAS? z.b. Ordern XY darf Computer1\UserA dran ? :)

Thema: Netzwerk in 2 Subnetze aufteilen
Am im Forum: Smalltalk

Router 1 -> 192.168.2.X

Router 2 -> 192.168.3.X

Dann einfach bei Router 2 mit in Router 1 stecken und Internet halt auf Router 1 leiten.

Denke ist nich so kompliziert oder denke ich jetzt zu einfach?

Thema: Benutzeroberfläche für WCF-Service: Lieber Webapp oder doch WinForm/WPF Applikation?
Am im Forum: Smalltalk

Ich wollte auch nicht eine Antwort, denn das wäre wie zu fragen, was ist der Sinn des Lebens :)

Jedoch Links, Meinungen, Sonstiges seh ich gern! :)

Thema: Benutzeroberfläche für WCF-Service: Lieber Webapp oder doch WinForm/WPF Applikation?
Am im Forum: Smalltalk

Hey! :)

Ich glaub sowas passt am besten in Smalltalk, ist ja eher eine Grundsatz Frage
statt eine technische Frage! :)

Ich habe momentan nen kleinen WCF Service mit rund ~ 100 Operationen.. Nichts großes!

Anfangs dachte ich mir bringt der Callback etwas, somit kann man zu Usern reden, man hat die Macht, sie zu disconnecten oder sonstiges! Doch wie das Leben so ist, Meinungen ändern sich.. Heute seh ich ein, ich brauch keine Callbacks!

Daher kommt nun mal so ne Frage die ich einfach in den Raum schmeiße auf Hoffnung mit Pro und Contra's!

Webapp (HTML&Ajax&PHP) + WCF Service

vs.

.Net App (Winform/WPF) + WCF Service

Für mich gibt es folgene Pro und Contra's:

.Net App
Pro:
+Performance
+größere Datenmengen
+Kompatibler (DataContracts versteht ein .Net App natürlich einfacher)

Cons:
-Man benötigt das .Net App
-Bei neuer Version (Neu Kompilierung und ersetzen alter Version)

Webapp
Pro:
+Überall erreichbar (So ziemlich jedes Endgerät besitzt einen Browser)
+Neue Version, kein Stress wegen Kompilierung oder ersetzen alter Versionen

Cons:
-Performance (? Wahrscheinlich nicht ganz so performant wie ein .Net App sein würde)
-WebServer dazwischen
-Nicht so kompatibel (DataContracts eventuell etwas komplizierter)
-Datenmengen (Gehört aber auch zum Punkt Performance)

Gruß,

Raphael

Thema: WCF: Große Dateien hochladen - Buffered
Am im Forum: Netzwerktechnologien

Hallo zusammen,

Um große Dateien mit WCF hochzuladen wäre es wie ich jetzt herausgefunden habe, besser transferMode Streamed zu benutzen, damit er nach und nach hochlädt, statt wie bei Buffered alles zuerst buffert und dann in einem hochlädt..

Jedoch, da ich Message security benutze, funktioniert hier nicht Streamed... Jetzt hänge ich auf diesem Buffered fest!

Habt ihr eine Idee wie ich nun größere Dateien (100MB, 1GB, 10GB) hochladen kann, ohne das mir das ding abschmiert?

Habe schon alle Einschränkungen in app.config auf 2147483647....

Ich habe mir gedacht, eventuell die Datei zu prüfen auf größe, diese dann in Stücke aufzuteilen, und im WCF dannach wieder zusammenzufügen.. Aber das ist meiner Meinung nach doch etwas unschön.

Gruß,

Raphaelh

Thema: WCF: Asynchronous Operations - Serverseitig, sinnvoll? Clientseitig, Exceptionhandling?
Am im Forum: Netzwerktechnologien

Aber wie verhält sich das denn?

Also angenommen:

Ich hab nen synchronen Service mit folgendem:

Methode1 : Macht DB-Query welches 2 Minuten dauert.
Methode2 : Macht DB-Query welches 2 Sekunden dauert.

Ich hab nen asynchronen Client der Methode1 und dannach direkt Methode2 gleichzeitig aufruft.

Der Service verhält sich dann doch so
Start Thread für Methode1
Start Thread für Methode2
Delay 2 Sekunden
Zurückgeben Ergebnis Methode2
Delay restliche Zeit bis Methode1 fertig
Zurückgeben Ergebnis Methode1

Oder?

Von daher würd es doch keinen Sinn ergeben Service asynchron zu gestalten?

Thema: WCF: Asynchronous Operations - Serverseitig, sinnvoll? Clientseitig, Exceptionhandling?
Am im Forum: Netzwerktechnologien

Mein Contract hat folgende Attribute:

[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerSession, ConcurrencyMode = ConcurrencyMode.Multiple)]

Somit, wird ja nur für jeden Client eine Instanz erstellt, was auch so sein soll.

Zitat
Eine normale Anfrage wird wie vorhin erwähnt schon in einem eigenen Thread abgearbeitet. Ob hier eine asynchrone Server-Methode notwendig ist od. nicht, hängt davon ab was gemacht werden soll.
Wenn die Methode "in sich geschlossen" arbeitet so bringt es keinen Mehrwert, eher Nachteile, da wiederum ein Thread verwendet wird usw.
Ruft die Methode jedoch im Gegensatzt zum Vorigen einen anderen Service auf, eine (asynchrone) Datenbankabfrage od. sonst etwas das länger dauern kann, dann macht es Sinn diese Service-Methode asynchron zu gestalten. Denn es wird der WCF-Anfragen-Ausführungsthread nicht blockiert und erst dann wieder aktiv, wenn die andere längere Operatoin fertig ist um die End-Methode aufzurufen.

Naja, ich habe Operationen welche Datenbankabfragen macht und auch etwas länger dauern kann.. Aber kann ich dur ConcurrencyMode.Multiple nicht 2 Operationen gleichzeitig aufrufen?

Gruß,

Raphael

Thema: WCF: Asynchronous Operations - Serverseitig, sinnvoll? Clientseitig, Exceptionhandling?
Am im Forum: Netzwerktechnologien

Hey,

Ist es sinnvoll Operationen direkt serverseitig asynchron zu gestalten?

Ich sehe da keinen Grund zu, denn ich habe ConcurrencyMode.Multiple damit ist ja gewährleistet dass ich meine Operationen so oft gleichzeitig aufrufen kann, bis ich die Resourcen ausgeschöpft habe! Daher weiss ich jetzt nicht genau ob es trotzdem Sinn macht die Operationen asynchron zu gestalten..

Auf der Client Seite, habe ich mir aber dennoch die Operationen asynchron generieren lassen, da ich nicht auf eine Operation warten möchte, bzw. nicht selbst jedes mal einen Thread erstellen will.


void client_HelloCompleted(object sender, HelloCompletedEventArgs e)
{
    if (e.Error != null)
    {
        // Exception handling?
    }
    else
    {
        // do something with result?
    }
}

Wie würde man am schlausten hier die Exception behandeln?

Wie prüft man am besten ob die Verbindung unterbrochen wurde und Faulted State hat? Wie baut man sie wieder auf?

Gruß,

Raphael

Thema: WCF: Client, Channel, Handling
Am im Forum: Netzwerktechnologien

Dazu sollte ich vielleicht sagen, dass einige Funktionen des WCF-Services einige Sekunden brauchen bis sie antworten, daher wollte ich auf Funktionen mit Return wert verzichten, da hier die GUI einfrieren würde. Also einfach in nem Thread die Funktion aufrufen und das Event registrieren und dann wenn Daten empfangen, verarbeiten.

Thema: WCF: Client, Channel, Handling
Am im Forum: Netzwerktechnologien

- Ich brauch keine Basisklasse für einen Proxy diesen erstellt mir Visual Studio automatisch.

- Authentifizierung an sich funktioniert ja.

- Es geht mir mehr ums Design.. MVP schön und gut.. Jedoch mit meiner Channel Klasse, erstelle ich ja viele Events, muss man dies? Oder könnte man das auch anders umgehen dynamisch machen oder sonst was?

Thema: Webverweis hinzufügen erzeugt nur asynchrone Vorgänge
Am im Forum: Netzwerktechnologien

War es nicht so, dass dies extra bei Silverlight so ist, damit man den Browser GUI Thread nicht blockiert?

Thema: WCF: Client, Channel, Handling
Am im Forum: Netzwerktechnologien

Hallo zusammen :)

Ich möchte einen WinForm Client erstellen dieser besitzt:

LoginForm, MenuForm, und weitere Unterformen welche in der MenuForm auswählbar sind..

Dazu habe ich eine Channel Klasse erstellt, diese verwaltet die Verbindung und Aufruf aller Methoden des WCF-Service, hier ein kleines Beispiel:


namespace Client
{
   public delegate void LoginSuccessEventHandler();
   public delegate void ErrorEventHandler(Exception ex);

   public class Channel : Contract.IContractCallback
   {
      private Contract.ContractClient _channel;
      private string _userName;
      private string _password;
      public event LoginSuccessEventHandler OnLoggedIn;
      public event ErrorEventHandler OnError;
      protected virtual void LoggedIn()
      {
         LoginSuccessEventHandler onLoggedIn = OnLoggedIn;
         if (onLoggedIn != null)
            onLoggedIn();
      }
      protected virtual void Error(Exception ex)
      {
         ErrorEventHandler onError = OnError;
         if (onError != null)
            onError(ex);
      }
      public void Authenticate(string userName, string password)
      {
         if (UserName.Length ≤ 0)
            throw new Exception("Bitte geben Sie einen Benutzernamen ein");
         if (Password.Length ≤ 0)
            throw new Exception("Bitte geben Sie ein Passwort ein");
         _userName = userName;
         _password = password;
         Connect();
      }
      private void Connect()
      {
         try
         {
            _client = new Contract.ContractClient(new InstanceContext(this));
            _client.ClientCredentials.UserName.UserName = _UserName;
            _client.ClientCredentials.UserName.Password = _Password;
            _client.ClientCredentials.ServiceCertificate. Authentication.CertificateValidationMode = System.ServiceModel.Security.X509CertificateValidationMode.None;
            _client.Open();
            LoggedIn();
         }
         catch (Exception ex)
         {
            Error(ex);  
         }
      }
   }
}

Hier kommt die erste Frage, wäre es so richtig? Bzw. ist dies schön? Denn so werden etliche delegates, events, voids entstehen je mehr Funktionen mein WCF-Service hat.. Denn für jede Funktion mit Rückgabe wert brauche ich ein Event.

Ich habe gedacht, da ich viele Forms habe, könnte ich eine art FormHandler-Klasse erstellen.

Dann kommt die nächste Frage, soll dieser FormHandler diese Channel Klasse verwalten? Also der FormHandler registriert die Events und gibt gegebenenfalls die Werte an die Forms weiter, oder soll der FormHandler den Forms die Channel Instanz bei der initialisierung weitergeben und diese registriere selbst die Events?

Dazu kommt wie genau könnte man so einen FormHandler erstellen, soll dieser bei jeder neuen Form das Closing Event abfangen und dann diese Form nur Verstecken und z.b. zurück zur vorherigen Form gehen (Menu / Login)?

Thema: [gelöst] WCF - CustomIdentity in CustomValidator
Am im Forum: Netzwerktechnologien

Okay,

Ich habe es gelöst bekommen..

Musste eigenen ServiceCredentials Type erstellen, welcher nen eigenen ServiceCredentialsSecurityTokenManager aufruft, dieser erstellt nen eigenen UserNameSecurityTokenAuthenticator, dieser erstellt meinen eigenen UserNamePasswordValidator wo ich ne eigene Methode mit meinem Rückgabewert erstellt habe.

Alles in eine eigene AuthorizationPolicy und voila! :)

Danke trotzdem!

Thema: [gelöst] WCF - CustomIdentity in CustomValidator
Am im Forum: Netzwerktechnologien

Probleme :

-Username ist bei mir nicht eindeutig (Da dieser öfter als einmal vorkommen kann)
-OperationContext wird erst später initialisiert
-UserNamePasswordValidator ist der einzige Ort wo ich das Passwort habe und der User erst damit wirklich eindeutig ist!

Thema: [gelöst] WCF - CustomIdentity in CustomValidator
Am im Forum: Netzwerktechnologien

Ich denke so kann man das nicht umsetzen..

Gibt es eine Möglichkeit den Verlauf der WCF Authentication/Authorization nachzuvollziehen? Irgendwie mit Decompiler? Sodass ich eventuell einige Methoden überschreibe und es eventuell so hinbekomme?

Thema: [gelöst] WCF - CustomIdentity in CustomValidator
Am im Forum: Netzwerktechnologien

Wie du sagst, ich habe in meiner static Klasse Authentication ein Dictionary erstelle <string, Authenticationlevel>

Dann würde ich im UserNamePasswordValidator einen Eintrag hinzufügen. Jedoch Da gibt er mir die Exception

Fehler
Object reference not set to an instance of an object
. Wahrscheinlich weil OperationContext nicht initialisiert worden ist..

Thema: [gelöst] WCF - CustomIdentity in CustomValidator
Am im Forum: Netzwerktechnologien

Vielleicht reden wir aneinander vorbei :/.. Ich versuch nochmal etwas von vorn..

Also,

-Client verbindet
-Credentials werden überprüft -> daraus erhalte ich einen Wert
-Diesen Wert muss pro Session irgendwo speichern
-Diesen Wert muss ich dann wenn IPrincipal.IsInRole ausgeführt wird, wieder abrufen können.

Problem dabei, ich kann soviele public Felder in meinem Contract machen wie ich möchte, jedoch wird dieser Contract per Client initialisiert, heißt nicht static, wie soll ich nun diesen Wert ändern können? Gleiche gilt für IPrincipal..

Gibt es nicht Etwas wie OperationContext.Current, woraus ich weiss welcher Client es ist oder soetwas in die Richtung?

Thema: [gelöst] WCF - CustomIdentity in CustomValidator
Am im Forum: Netzwerktechnologien

Richtig, ich kann innerhalb der Service-Klasse zugreifen.

Jedoch wie soll ich diese Variable von außerhalb setzen, bzw. auslesen?

UserNamePasswordValidator ist ja nicht in der Service-Klasse und IPrincipal.IsInRole(string role) wo ich dann die AuthenticationLevel Variable brauche, ist auch nicht in der Service-Klasse.