如何使用WCF寫入我的服務以返回iCal?我看到的例子使用xml或json作爲格式化響應的方式。返回其他類型的答覆機構的最佳方式是什麼?WCF服務返回iCal
3
A
回答
1
最簡單的解決辦法是在XML或JSON格式(你挑)作爲一個簡單的字符串從WCF調用返回的iCal表示:
[ServiceContract]
interface IMyCalService
{
[OperationContract]
string GetiCal(.......);
}
,然後繼續和進一步處理它在客戶端上,一旦你收到包含iCal XML(或JSON)的字符串。這可以通過使用SOAP的標準WCF來完成。
其他方法可能會使用WCF REST服務,當您點擊特定的URL時會返回iCal格式的響應 - 這需要暫時安裝WCF Rest Starter Kit(在.NET 3.0/3.5中)。我並不十分熟悉iCal格式,但我確信無論如何,您都可以構建必要的XML格式來滿足iCal的要求。
馬克
3
事情是這樣的:
[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...
}
所以,現在你可以做一個HTTP GET到例如yourService.svc/123.ics並返回iCal。
這個工作原因是「Stream」是WCF REST(用於非XML,非JSON響應)的特殊包裝。
請記住,您必須同時使用WebHttpBinding和WebHttp行爲才能工作。
相關問題
- 1. 從WCF服務返回MembershipUser
- 2. WCF Ajax服務返回值
- 3. 從wcf服務返回xdocument
- 4. 返回XML從WCF服務
- 5. WCF Rest服務返回HttpWebResponse
- 6. Restful WCF服務 - 返回byte []?
- 7. WCF服務返回Response.Write
- 8. 從WCF服務返回401
- 9. 返回其他服務的WCF服務
- 10. 從wcf服務返回wcf/json結果
- 11. WCF服務返回另一個服務(服務工廠?)
- 12. (Silverlight)返回LinkedList的WCF服務
- 13. WCF服務 - JSON - 沒有數據返回
- 14. wcf ria服務方法返回
- 15. 從WCF服務返回NHibernate映射類
- 16. 如何從WCF Web服務返回XML?
- 17. REST WCF服務不返回響應
- 18. WCF服務返回400錯誤請求
- 19. Sitefinity,IIS 6 WCF服務返回主頁
- 20. 從WCF數據服務返回BSonDocuments
- 21. 如何從WCF服務返回Json?
- 22. WCF服務沒有返回值到jQuery
- 23. WCF REST服務返回空類
- 24. WCF REST服務返回405用於POST
- 25. WCF服務操作總是返回false
- 26. WCF服務方法返回null
- 27. 從WCF服務返回原始XML
- 28. WCF服務返回「方法不允許」
- 29. 讓我的WCF服務返回json
- 30. WCF服務操作返回對象圖
任何機會,你可以擴大最後一句「記住,你必須使用WebHttpBinding和WebHttp行爲這個工作。」? – Drammy 2012-10-12 14:34:56
在您的服務配置中,您需要同時使用http://msdn.microsoft.com/en-us/library/bb412176.aspx和http://msdn.microsoft.com/en-us/library/bb924425.aspx – 2012-10-12 17:20:32