Iis Breeze DTO服务——针对以下项的元数据查询失败:Breeze/DTO/Metadata;发生了一个错误--错误

Iis Breeze DTO服务——针对以下项的元数据查询失败:Breeze/DTO/Metadata;发生了一个错误--错误,iis,breeze,Iis,Breeze,我们在SPA(Durandal)中使用Breeze,到目前为止,我们使用EF5返回Breeze需要的元数据,但现在我们希望在某些场景中使用DTO,因此我们实现了以下功能,它在开发环境中运行良好,但当我们在IIS上部署它时,它会返回“元数据查询失败:breeze/DTO/Metadata;发生了一个错误。“ 我已经检查了服务的路径是否正确 请帮助….我能够解决问题根本原因是DTO需要一个虚拟连接字符串才能工作,特别是在使用Webdeploy发布代码的情况下。我参考了Breeze示例“DocCode

我们在SPA(Durandal)中使用Breeze,到目前为止,我们使用EF5返回Breeze需要的元数据,但现在我们希望在某些场景中使用DTO,因此我们实现了以下功能,它在开发环境中运行良好,但当我们在IIS上部署它时,它会返回“元数据查询失败:breeze/DTO/Metadata;发生了一个错误。“

我已经检查了服务的路径是否正确


请帮助….

我能够解决问题根本原因是DTO需要一个虚拟连接字符串才能工作,特别是在使用Webdeploy发布代码的情况下。我参考了Breeze示例“DocCode”web配置--



什么意思“我已经检查了服务的路径是否正确。"? 为了确定开发服务器和IIS服务器的请求和响应都相同,您做了什么?为了澄清,我检查了DTO服务的路径是否在IIS上具有正确的虚拟目录,进一步分析后,我发现Webdeploy(我们用于发布)将一个新的连接字符串添加到与DTO上下文对应的web.config中。我想告诉您的是,您已经检查了应用程序生成的实际URL。您可以在浏览器的“开发人员工具”的“网络”选项卡中找到它。我敢打赌,当您试图访问IIS时,请求中的URL不正确。请向我们显示实际的请求URL,并确认该URL是否检索元数据。。
<!-- TODO: is this needed?
         phony FoosMetadataContext connection enables FoosMetadataProvider to succeed; there is no nonsense.sdf-->
    <add name="FoosMetadataContext" connectionString="Data Source=|DataDirectory|nonsense.sdf" providerName="System.Data.SqlServerCe.4.0" />