【问题标题】:WCF RedirectWCF 重定向
【发布时间】:2009-04-21 18:02:14
【问题描述】:

我知道 WCF 应该与传输无关,但有没有一种方法可以直接写入客户端(尤其是 Web 客户端)?

我需要做与 response.redirect(url) 等效的操作,尽管可能只写出“301 Location Moved”标头。

我正在尝试编写一个服务,该服务将在第一个请求时将静态内容移动到 CDN(S3 或类似),然后在完成时重定向。然后所有后续请求将立即重定向。

任何反馈都将不胜感激。

H

【问题讨论】:

    标签: asp.net wcf


    【解决方案1】:

    服务可能不应该告诉客户端它的端点在哪里(即像网页一样重定向客户端)。您可以将其设置为客户端知道一个端点用于“创建”和一个端点用于“获取”(或任何后续调用)。或者你可以让你的服务决定“好的,这不是一个创建调用,所以我将去后端存储(S3 或其他)并获取客户想要的数据并将其交还给他。”就个人而言,我更喜欢在服务中隐藏复杂性,而不是拥有一个不必要的复杂客户端,所以我可能会采用第二种方法。

    【讨论】:

    • 是的 - 考虑架构 - 将服务包装在 HttpHandler 或其他管道感知位置并从那里调用服务会更有意义。 mydomain.com/statichandler.aspx?url=encoded" /> - 然后 statichandler.aspx 调用服务。接受。
    【解决方案2】:

    我在客户端的 JavaScript 中执行此操作。返回要重定向到的 url,然后使用新 url 调用 Window.Location。

    【讨论】:

    • 我实际上正在尝试执行类似 mydomain.com/myservice.svc?url=encoded_original_url" /> 的操作 - 所以我无法访问 DOM 来执行 window.location。不过感谢您的评论。我想我可以尝试在 javascript 或其他东西中使用图像预加载解决方案。
    猜你喜欢
    • 2014-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多