我们正在设想一种产品,它将在多个平台 (Xamarin) 上具有 Web 前端和移动应用程序。我已经将一个微风有角的热毛巾示例变成了一个 Web 前端。我的任务是研究拆分微风网络客户端和微风服务器后端。造成这种情况的主要原因是移动开发人员可能会使用微风锐化将他们的对象保存到相同的微风后端。让微风网络客户端和服务器如此紧密地耦合似乎是个坏主意。我复制了这个项目,并在每一端剥离了必要的部分以将它们解耦。
我无法弄清楚的部分是如何让他们再次互相交谈。我简要研究了connectionString,但这似乎不是正确的答案。任何关于如何让他们再次交谈的想法将不胜感激。
编辑:20140725 14:23
从昨天开始,我一直在尝试解决这个问题。我查看了 Web.config 中的 connectionStrings,发现那是死胡同。另一篇文章让我想到了 Web.config 中的 appSettings。
我在 config.js 中找到了一个名为 remoteServiceName 的参数。以前的值是“微风/微风”我把它改成
'http://localhost:4545/breeze/Breeze'
Web 客户端仍然失败:
Error retrieving data.Metadata query failed for: http://localhost:4545/breeze/Breeze/Metadata; HTTP response status 0 and no message. Likely did not or could not reach server. Is the server running? Error: Metadata query failed for: 'http://localhost:4545/breeze/Breeze/Metadata'; HTTP response status 0 and no message. Likely did not or could not reach server. Is the server running?'
当我在其自己的选项卡中运行该链接时,我会获得元数据。
我去掉了什么?:微风控制器、模型、存储库(仅限 c#)、dbcontext 和 BreezeWebApiConfig
编辑 20140725 14:52
抱歉,我错过了上述例外之前的例外:
XMLHttpRequest cannot load http://localhost:4545/breeze/Breeze/Metadata. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:53555' is therefore not allowed access.