我遇到了Breeze的一个问题,当我试图调用我的控制器上的元数据操作时,它们会失败,导致504错误。
近似调用为//servername/微风/控制器/元数据
环境
Web通过IIS7运行在负载平衡的WIN2k8 Azure虚拟机上
版本(通过NuGet安装) Breeze客户端1.4.2 Breeze客户端和Server1.4.2 Breeze服务器-用于ASP.NET Web (核心) 1.4.2微风服务器-用于ASP.NET Web和实体框架1.4.2
更新:升级到Breeze 1.4.5没有任何区别
以前,它运行良好,最近唯一的变化是引入了负载平衡。
值得注意的是,我还有多个控制器,每个控制器都有自己的元数据。
运行成功的案例
失败的案例
出于某种原因,Breeze似乎不喜欢我的控制器中的元数据功能。
更新:
它看起来与使用负载平衡端点无关,因为我尝试将其设置为具有非负载平衡端点的端口8080直接运行,并且有同样的问题。
IIS失败的请求跟踪似乎没有记录失败请求的任何内容,尽管该请求确实出现在IIS日志中。
发布于 2013-11-11 18:57:17
在将路径从0.72更新到1.41并将路由从api/{controller}/{action}更改为breeze/{controller}/{action}之后,我也遇到了同样的问题。我没有从随随便便的人那里得到答案,所以我撤回了这个问题。
然而,我现在认为问题在于权限。Localhost:50033 in以我的身份运行,我有一个Server帐户,所以我认为它很酷。在部署到本地IIS和测试服务器IIS之后,我得到了一个500错误。
我终于进入了jquery代码,并从jqXHR中确定,错误是SQL没有处理匿名用户的凭据;Doh!如果曾经有过的话。我在web.config中更改了连接字符串,这就做到了。
<!--<add name="PilotPlant" connectionString="Data Source=dataweb;Database=PilotPlant;Integrated Security=SSPI;" providerName="System.Data.SqlClient" />-->
<add name="PilotPlant" connectionString="Data Source=dataweb;Database=PilotPlant;Trusted_Connection=no;User Id=sa;Password=sapassword" providerName="System.Data.SqlClient"/>这不太安全,但我正在防火墙内运行,所以这对我来说不是问题。
因此,我的回答是检查您对集群的权限。我希望这能帮到你。
https://stackoverflow.com/questions/19904631
复制相似问题