我使用Visual Studio中的发布工具将LightSwitch 2013 Web应用程序部署到我的本地Web服务器。该网站运行良好,没有任何问题。我能够从外部SQL Server加载记录。
当我将相同的已发布包部署到我们的UAT Web服务器时,会出现一个错误声明,其中显示的数据记录显示“请求失败,状态代码为'400',状态文本为'错误请求'。”我打开了应用程序的失败请求跟踪,找到了2个日志。以下是跟踪日志:
Url -> http://uatwebsrvr:80/LSApp/ApplicationData.svc/$metadata
App Pool -> LSAppPoolv4.0
Authentication -> anonymous
User from token -> NT AUTHORITY\IUSR
Activity ID -> {00000000-0000-0000-D000-0080000000EE}
Site -> 1
Process -> 3448
Failure Reason -> STATUS_CODE
Trigger Status -> 400
Final Status -> 400
Time Taken -> 0 msec
第二个日志与此日志相同,但正在使用的服务除外。
我比较了UAT服务器和我的Dev服务器上的IIS配置。我能找到的唯一区别是UAT服务器上缺少一些程序集。但我真的不认为这是问题所在。缺少的程序集是这3个:
*Microsoft.VisualStudio.Web.PageInspector.Loader, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.Web.WebPages.Deployment, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Web.WebPages.Deployment, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35*
应用程序池具有相同的配置。
另一件事。我创建了一个非常基本的Lightswitch应用程序来显示一些数据库记录来测试数据库连接。我将此部署到UAT Web服务器,这个应用程序运行正常。这个应用程序使用与我的真实应用程序相同的数据库。
答案 0 :(得分:0)
此问题已得到解决。解决方案是将服务器项目上的所有引用更改为"复制本地"