Paul: maar, waarom wil je die 150.000 regels code porten, als je het toch in MTS wilt draaien? Ik zou die handel alleen porten als de logica in .NET interessant was, maar dan zou ik het porten naar een specifieke .NET applicatie, dus bv ombouwen tot een webservice. Je bent nu werk aan het verrichten wat netto niets oplevert (behalve lekker kloten met .net

) want je kunt gewoon die COM components gebruiken vanuit een .net app.
Verder, als je programmatuur stateless is en de transactions zijn puur database gericht, is MTS niet nodig maar kun je met de ADO(.NET) transaction methods je database transactions goed uitvoeren. .NET applicaties zijn meer gericht op black-boxes, dus je maakt gebruik van een applicatie (webservice) en wat daarbinnen gebeurt is niet belangrijk, dus gedraagt die applicatie zich als zodanig als een transaction. Het falen van een webservice call zou dan je huidige 'transaction' moeten laten falen, wat je handmatig kunt programmeren zonder MTS (dmv try/catch/finalize).
Ik zit zelf ook met 50.000 regels aan COM / Business logic components in VB en VC++6 maar die laat ik fijn in die taal: COM based development was en is gebaseerd op het gebruik van functionaliteit dus of die dingen nu in .NET of in VB6 zijn gebouwd boeit niet. Het 1:1 afbeelden van die applicatiestructuur op een .NET applicatie gaat overigens ook niet, je zet in .NET je applicatie toch iewat anders op.