Migration from asp.net mvc to asp.net core

It is hard to answer this without knowing the details of both your system and your team.

Porting everything at once will take some time away from support and improvement of the current system. Any additional features will either have to be put on hold or implemented twice.

At the same time, once it is done and tested internally, you can roll it out side by side with your current setup and start production testing with a simple load-balancer. If something is wrong, you can quickly (even automatically) switch back to the proven solution.

The incremental way, on the other hand, requires at the very least, that your system can actually be broken into individual services. Some can’t. As a benefit, any additional features can be implemented immediately in the new system.

However, going this way will mean that for a long time you will have to provide support on both systems at once.

Unfortunately, I do not have much experience with WCF, so I can’t provide an advice on it.