Что выбрать в качестве серверного приложения, ASP.Net или WCF?
Привет.
Мне, если речь идёт о связи с веб-мордой и мобильными клиентами (в перспективе не только wp) нравится в качестве бэкенда использовать asp.net mvc web api. Это может показться сложнее простого wcf, тем более, что в wcf есть возможность сделать rest-сервис, поэтому я попробую обосновать плюсы web api.
1. Универсальность из коробки. web-api работает работает через http и отдаёт данные в json. Их просто собрать и в веб-приложении, при этом любой клиент всегда может обратиться к ним просто послав http-запрос.
2. mvc web api очень легко прикрутить к фронтенду с помощью knockout.js или angular.js. Фактически, это работает "из коробки" - делаешь запрос, получаешь в js построенную модель. 
3. Даже в настольном приложении через .net всегда можно легко и, главное, асинхронно работать с web api через класс HttpClient (он же есть для WP).
4. Нет .net? Это просто http-запрос, стучаться легко с других платформ.
5. Как хостить WCF-сервис? Это не так и сложно, но хочется простоты, всё просто должно работать. web api хостится так же, как обычное asp.net приложение - в iis.
WCF поддерживает также TCP, UDP, MSMQ и возможность написания своего протокола, что не мало важно. Если есть опыт в Asp.Net Mvc , то Web-api будет намного привычнее чем WCF, ибо структура приложения та же сама. Лично мое мнение - сервис по работе с текстовыми данными - делать на web-api, а сервис по работе с файлами (если нужно вообще (загрузка/отправка)) делать на WCF. Передача файлов по TCP немного быстрее чем по HTTP. + в web-api нет транзакций как в WCF.