Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
Yeah, that's because you're stuck on legacy. Dotnetcore is as enjoyable as spring boot, play, micronaut etc.
SOAP is officially dead in the MS space though. If you're not doing grpc or rest you're gonna endure legacy shit like WCF.
mr-user103212dThe reason I think WCF become a mess is because they over engineer a solution. They want to pack a lot of feature into a framework which we end in the state we are in. I notice most of MS framework is over engineer and I try to find the simpler alternative.
The only case I can make for MS framework is that they are well tested and there is a lot of community support for it.
ltlian149212dRecently I had to write a scraper that pulled data from a static csv which was regularly updated, then map, filter, and store it on our end because they didn't offer an api endpoint.
They did, however, allow you to browse and query the data via their website, so I spent some time investigating the possibility of writing a client that communicated with this aspect instead.
That's my first experience with WCF. The only phrase I remember echoing in my head for two days straight was "what is *this*? What *is* this?"
Since then I came to see scraping the csv as the cleanest option, so that's something.
Voxera762912dOne reason it was over engineered is that it was trying to solve every problem at once.
And the soap or webservice standard at the time was not entirely complete.
For example, java’s and microsoft’s implementations could not talk if you used arrays as soap had two optional implementations and no mandatory, snd the choose one each.
And also, they did not know what would be important. But yes, they could probably have done a better job.
Kotlin was created 5 years later and ktor 12 years later. They had ample time to learn all mistakes and look at real world examples on what to focus on.
Also, the underlying standards have improved and ktor did not have to contend with backwards compatibility to existing users (only to older versions if protocols)
With .net core, microsoft had the opportunity to do the same to their solution.