Je sais que les liaisons WSDualHttpBinding, NetTcpBinding et NetPeerTcpBinding prennent toutes en charge les opérations de service de duplex/callback.WCF et ASP.NET: Prise en charge de la prise en charge duplex utilisant AJAX
Je ne trouve nulle part sur internet quelqu'un demandant même si le duplex est supporté d'une manière ou d'une autre pour les appels ajax. Peut-être que la raison de mon incapacité à trouver quoi que ce soit est que je ne comprends absolument pas le concept clé de WCF qui fait de la question la question la plus stupide ...
Je sais que la liaison webHttpBinding avec <enableWebScript/>
gneerate le js nécessaire pour les objets proxy côté client.
Est-ce impossible parce que les services en duplex ont besoin que le service de rappel soit hébergé et qu'il n'y ait aucun moyen de le faire côté client? (Si cela a du sens ..)
Mon application est en couches comme suit:
1. WebSite1 - appels ajax à WebSite1.MyClientService.
2. WebSite1.MyClientService - WCF Service auto-hébergé faisant référence à MyServiceProxies DLL.
3. MyServiceProxies DLL - Proxy personnalisés (utilisés à la place des proxies générés automatiquement "Ajouter une référence de service") qui héritent de ClientBase. Cela délègue simplement les appels de service réels à base.Channel.OperationName() à [MyService: IMyService à WinService WCF Hôte EXE].
4. WinService WCF Hôte EXE - Il s'exécute en tant que service Windows, en tant que singleton, autorisant les appels multithread. Les appels de WebSite1 interrogent les valeurs en mémoire détenues par ce singleton. Ce singleton finira par valider toutes les données contenues dans la mémoire de la base de données via une couche de données séparée.
Le service WinService est configuré pour utiliser les appels duplex via net.tcp. WinService s'exécutera sur la même machine que WebSite1 IIS App.