Fehlerbehandlung bei .NET Remoting



  • Hallo.

    Ich habe einen Datenbankserver inkl. Client programmiert, beides in C# und mit Hilfe von .NET Remoting.

    Eine Fehlerbehandlung sieht bei mir beispielsweise so auf dem Server aus:

    Marshal.ThrowExceptionForHR((int)E_FAIL);
    

    Ich werde desshalb einen HRESULT aus, da ich zuvor den Server als c++ Anwendung auf COM-Basis hatte und den Sourcecode des Clients nur an einigen wenigen Stellen dafür ändern musste.

    Auf dem Client sieht die Fehlerbehandlung dann entsprechend aus, da der throw am Server eigentlich eine COMExeption hervorruft.

    catch(COMException  e)
    {
    	// Fehlermeldungen im Log-Fenster ausgeben
            ...
    }
    

    Seltsamerweise wirft der Server zwar die COMExeption aus, jedoch kommt am Client nur eine RemotingExeption an.

    Kann sich das jemand erklären?

    Danke



  • Hast Du schonmal auf die InnerException der RemotingException geschaut...

    Ja, ich wiederhole mich (täglich), aber da es offensichtlich nciht allgemein bekannt ist, hier wieder der Hinweis: Es gibt tatsächlich eine Dokumentation:

    http://msdn2.microsoft.com/en-us/library/system.runtime.remoting.remotingexception_members.aspx

    UNd diese zu lesen kann viele Fragen beantworten.


Anmelden zum Antworten