【问题标题】:websharper access to rpc from another site (SPA)webshaper 从另一个站点访问 rpc (SPA)
【发布时间】:2016-11-10 12:32:52
【问题描述】:

我有一个带有 websharper 的客户端-服务器(带有转译的 js 和对服务器的 rpc 调用)应用程序,它运行得非常好。

现在我需要一个用于另一个站点(一个 WordPress 应用程序)的 javascript 文件,我想通过这个脚本访问我在以前的客户端-服务器应用程序中创建的所有公共(非受保护的 rpc)。

理想的情况是能够使用 websharper SPA 模板并“链接”到客户端-服务器项目。

我有两个问题: - 首先,rpc 签名使用似乎是应用程序本地的哈希编码(没有简单的方法可以在它之外复制此哈希) - 其次,显然没有办法将客户端-服务器应用程序生成的 dll 实际链接到新的 SPA 模板中,并为 SPA 使用导出的 rpc 方法签名。

我是否遗漏了什么,如何完成这项工作?

问候,

【问题讨论】:

    标签: single-page-application rpc websharper


    【解决方案1】:

    从您的 SPA 中引用您的客户端-服务器应用程序应该可以正常工作;您只需要通过在 SPA 中的某处调用以下内容来确保它指向正确的 URL:

    WebSharper.Remoting.EndPoint <- "http://your-client-server-application's-url"
    

    【讨论】:

    • 好的,这是一个开始。现在我的问题是我似乎无法触发网站中的 CORS 标头。我添加了WebSharper.Web.Remoting.AddAllowedOrigin("http://localhost:51715")[&lt;Website&gt;],但它不会触发任何Access-Control-Allow-Origin 标头。
    • 我刚刚尝试过,像您刚才那样添加了 AllowedOrigin,我得到了正确的 Access-Control-Allow-Origin 作为响应,并且 RPC 也通过了。 http://localhost:5‌​1715 是您的 SPA 的 URL,对吗? (另外,您的服务器应用程序是如何托管的:basic、Owin 还是 Suave?)
    • 它只有在我添加DisableCsrfProtection 时才有效我使用基本的客户端-服务器容器模板(带有 asp.net 的那个)现在有没有办法重新启用 Csrf 或者它是设计的?跨度>
    猜你喜欢
    • 2020-05-05
    • 1970-01-01
    • 2014-02-13
    • 1970-01-01
    • 2014-12-16
    • 1970-01-01
    • 1970-01-01
    • 2015-12-25
    • 2019-02-28
    相关资源
    最近更新 更多