如何让使用 WCF 编写的服务返回 iCal?我看到的示例使用 xml 或 json 作为格式化响应的方式。返回其他类型响应主体的最佳方式是什么?
最佳答案
像这样:
[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 行为才能使其工作。
关于html - 返回 iCal 的 WCF 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1521802/