I have a web application which passes long-running requests to a Windows Service on another computer, using .NET Remoting. I have been told that .NET Remoting is an obsolete technology, and that it should no longer be used.
Should I rewrite the service using WCF, or leave it as it is? If I rewrite it, am I going to have to rewrite it again when Microsoft replaces WCF with something else?
NOTE: This is not a rhetorical question. Microsoft has changed its remoting story at least three times. (DCOM, .NET Remoting, WCF, ?…)
Given that WCF and .NET Remoting are not very easily interchangable (.NET Remoting is based on remote objects while WCF is more about document-oriented messaging), I wouldn’t go to the trouble of rewriting the code to WCF just because .NET Remoting is no longer considered hot. Of course, your actual circumstances may vary heavily.
If .NET Remoting works for you and nothing needs change, keep it. At some point you may have to consider switching to WCF-based technology to support more diverse clients – such transitions seem to be common these days – but until that day comes, keep it simple. I would, however, write new applications on WCF from the start, mostly to encourage myself to keep within the SOA-minded document communications model.