【发布时间】:2009-04-21 18:02:14
【问题描述】:
我知道 WCF 应该与传输无关,但有没有一种方法可以直接写入客户端(尤其是 Web 客户端)?
我需要做与 response.redirect(url) 等效的操作,尽管可能只写出“301 Location Moved”标头。
我正在尝试编写一个服务,该服务将在第一个请求时将静态内容移动到 CDN(S3 或类似),然后在完成时重定向。然后所有后续请求将立即重定向。
任何反馈都将不胜感激。
H
【问题讨论】:
我知道 WCF 应该与传输无关,但有没有一种方法可以直接写入客户端(尤其是 Web 客户端)?
我需要做与 response.redirect(url) 等效的操作,尽管可能只写出“301 Location Moved”标头。
我正在尝试编写一个服务,该服务将在第一个请求时将静态内容移动到 CDN(S3 或类似),然后在完成时重定向。然后所有后续请求将立即重定向。
任何反馈都将不胜感激。
H
【问题讨论】:
服务可能不应该告诉客户端它的端点在哪里(即像网页一样重定向客户端)。您可以将其设置为客户端知道一个端点用于“创建”和一个端点用于“获取”(或任何后续调用)。或者你可以让你的服务决定“好的,这不是一个创建调用,所以我将去后端存储(S3 或其他)并获取客户想要的数据并将其交还给他。”就个人而言,我更喜欢在服务中隐藏复杂性,而不是拥有一个不必要的复杂客户端,所以我可能会采用第二种方法。
【讨论】:
我在客户端的 JavaScript 中执行此操作。返回要重定向到的 url,然后使用新 url 调用 Window.Location。
【讨论】: