Comment faire pour que mon service soit écrit avec WCF pour renvoyer un iCal? Les exemples que je vois utilisent xml ou json comme moyen de formater la réponse. Quel est le meilleur moyen de renvoyer d'autres types de corps de réponse?Service WCF pour renvoyer iCal
Répondre
La solution la plus simple serait de retourner la représentation iCal au format XML ou JSON (votre choix) comme une simple chaîne de votre appel WCF:
[ServiceContract]
interface IMyCalService
{
[OperationContract]
string GetiCal(.......);
}
puis continuer et gérer davantage sur le client , une fois que vous avez reçu la chaîne contenant le code XML iCal (ou JSON). Cela peut être fait avec WCF standard en utilisant SOAP. D'autres façons de le faire pourrait être d'utiliser un service WCF REST qui renvoie une réponse au format iCal lorsque vous frappez une URL particulière - cela nécessiterait l'installation du WCF Rest Starter Kit pour le moment (dans .NET 3.0/3.5). Je ne suis pas intimement familier avec le format iCal, mais je suis sûr que d'une manière ou d'une autre, vous serez capable de construire le format XML nécessaire pour satisfaire aux exigences d'iCal.
Marc
Quelque chose comme ceci:
[WebGet(UriTemplate="{id}.ics")]
[OperationContract]
Stream GetCalendar(int id)
{
WebOperationContext.Current.OutgoingResponse.ContentType="text/calendar";
//Now just return the appropriate data in iCal format in the Stream...
}
Vous pouvez maintenant faire une requête HTTP GET à, par exemple yourService.svc/123.ics et récupérez un iCal. La raison pour laquelle cela fonctionne est que "Stream" est spécial-cased dans WCF REST (utilisé pour les réponses non-XML, non-JSON). N'oubliez pas que vous devez utiliser à la fois le comportement WebHttpBinding et WebHttp pour que cela fonctionne.
- 1. Conception d'un service WCF pour renvoyer des informations d'image
- 2. Renvoyer automatiquement un message dans WCF
- 3. Service WCF RESTful sur Service WCF standard
- 4. Comment créer un document XPS dans un service WCF pour le stocker et le renvoyer?
- 5. Qu'est-ce qui provoquerait un service WCF pour renvoyer un objet de type "objet"
- 6. Déploiement d'un service WCF
- 7. 2.0 Proxy de service Web pour le service WCF
- 8. Appel asynchrone pour service WCF hébergé dans le service Windows
- 9. Interaction Applescript et iCal
- 10. Programme d'installation msi pour le service wcf
- 11. Liaison Wcf pour le service Web
- 12. Activer SSL pour mon service WCF
- 13. Win32Exception @ ServiceHost.Open() pour le service WCF
- 14. Service WCF pour la réception de l'image
- 15. Service WCF unique pour plusieurs connexions client
- 16. Meilleure pratique pour un grand service WCF?
- 17. Format iCal - Propriété organisateur
- 18. Service WCF, authentification Windows
- 19. Déploiement d'un service WCF
- 20. WCF Web Service Bloat
- 21. IPhone service WCF reposant
- 22. Service WCF robuste
- 23. Documentation de service WCF
- 24. WCF Service vs Silverlight prêt WCF
- 25. WCF Service & demande
- 26. Un service WCF activé par Ajax peut-il renvoyer un DataTable en tant que Sys.Data.DataTable?
- 27. erreur service Web WCF
- 28. Erreur de service Wcf
- 29. Meilleure pratique pour gérer un grand service WCF
- 30. Fermeture et élimination d'un service WCF
Une chance que vous pouvez développer sur la dernière phrase "N'oubliez pas que vous devez utiliser à la fois le comportement WebHttpBinding et WebHttp pour que cela fonctionne."? – Drammy
Dans votre configuration de service, vous devez utiliser à la fois http://msdn.microsoft.com/en-us/library/bb412176.aspx et http://msdn.microsoft.com/en-us/library/bb924425.aspx –