With today's open sourcing of WCF, it seems to me that there was a fair amount of hate for the framework. From my time working with it, I'd certainly say its justified. Continued bashing WCF certainly isn't the point of this post, but with that as a backdrop, I began thinking what were the good parts of the WCF.
Although WCF was heavily abstracted, it was also massively extensible. I think this push to be extensibile at nearly every level played a part in things like MVC and OWIN being built with extensibility in mind. That was good, but at the same time, the extensibility was so buried under the abstraction that it didn't help save WCF.
Anyway, what I really think was the best part of WCF was really the NetTCP end points, basically providing a very streamlined messaging protocol between native .Net apps on different machines. Although many other aspects of WCF (WS, SOAP) seem to be quite "antiquated" in the context of modern web development where RESTful, JSON based are favoured over those older specs, NetTCP end points do seem to still be useful.
So I guess my question is, if one didn't want to dive into WCF for NetTCP-like function, what options would be available to easily and efficiently exchange messages between .Net apps in as high performance a manner as possible? I guess ServiceStack is the only alternative that I'm aware of, but it appears that to mimic NetTCP-like functionality you've got to use Redis as an intermediary.
Any thoughts about the best part of WCF, replacing NetTCP, or thoughts on ServiceStack are welcome.
* you could argue that some enterprise environments still rely on SOAP messaging, but that doesn't necessarily mean its a best practice.
by ThereKanBOnly1 via /r/csharp