Удачи!
К сожалению, правда в том, что Asp.net/ajax (в общем-то, сеть в целом) и WPF (и, черт возьми, давайте добавим туда WinForms для хорошей меры), имеют очень разные модели пользовательского интерфейса, и одна из них хорошо работает: не обязательно будет хорошо работать для другого. Это не значит, что вы не можете разделять логику между приложениями, написанными для любой из технологий, но я сделаю несколько подробностей: ваша логика пользовательского интерфейса не будет в этой категории.
Я недавно использовал вариант MVVM для WPF и ASP.Net MVC, и я бы сказал, что они очень хорошо подходят для данной технологии. Однако, хотя они очень похожи, они имеют свои различия, и я не уверен, что вы могли бы написать слой абстракции (в любое приличное количество времени), который мог бы использовать преимущества великолепных функций обеих технологий.
В конечном счете, я бы сказал, что лучше всего придерживаться некоторых шаблонов SOA и извлекать как можно больше логики вашего бизнеса и доступа к данным в общие библиотеки. Затем напишите отдельные пользовательские интерфейсы в WPF и Asp.net, чтобы воспользоваться преимуществами этих общих библиотек. Именно такой подход сейчас использует моя компания, и она работает как шарм.
Может показаться утомительным писать свою логику пользовательского интерфейса дважды (один раз для asp.net и один раз для wpf), но я думаю, что это того стоит, чтобы ваш код мог соответствовать шаблонам и методам, которые лучше всего соответствуют этим технологиям.
В качестве отступления, хотя Silverlight не является опцией, рассматривали ли вы XBAP?