我们有一个完全信任的XBAP代码签名。它适用于使用SSL的普通SSL网站。但是当它在反向代理后面运行时,它无法下载。
它只是说:(400)错误请求。你们有什么想法吗?
感谢。
以下全部错误详情:
平台版本信息 Windows:6.1.7601.65536(Win32NT) 公共语言运行时:4.0.30319.18444 System.Deployment.dll:4.0.30319.34244由FX452RTMGDR构建 clr.dll:4.0.30319.18444建立者:FX451RTMGDR dfdll.dll:4.0.30319.34244建立者:FX452RTMGDR dfshim.dll:4.0.41209.0(Main.041209-0000)
SOURCES 部署URL:(在SSL网站)/VrWeb/XBAP/Netsmart.VR.XBAP.xbap?.ADAuthCookie=A19128BE536C0F169406543CF67A57010F530A91107DCA648BF21D33107B728082815EBD74F65890A386DBF9CE68959DE5FAF7D765DAB75D404F9F0CCCE6FA791E1595FF5942C37FE46B4098E0D4126491A5C3701AF132E2AAA1DDC9D5DFFBD893A43C6149D7F9E62120BD0125FC6C97B1ED3E16E39BE7E49B40BCD66C18945F
恒等式 部署标识:Netsmart.VR.XBAP.xbap,Version = 2.0.1.1213,Culture = neutral,PublicKeyToken = 0d8e13e75f96a245,processorArchitecture = msil
申请摘要 *仅限在线申请。 *设置了Trust url参数。 错误摘要 下面是错误的摘要,这些错误的详细信息将在后面的日志中列出。 *下载清单时发生异常。检测到以下失败消息: +下载(在SSL网站)/ VrWeb / XBAP /(X(1)F(A19128BE536C0F169406543CF67A57010F530A91107DCA648BF21D33107B728082815EBD74F65890A386DBF9CE68959DE5FAF7D765DAB75D404F9F0CCCE6FA791E1595FF5942C37FE46B4098E0D4126491A5C3701AF132E2AAA1DDC9D5DFFBD893A43C6149D7F9E62120BD0125FC6C97B1ED3E16E39BE7E49B40BCD66C18945F))/ AppFiles / Netsmart.VR.XBAP_2_0_1_1213 / Netsmart.VR.XBAP.exe.manifest没有成功。 +远程服务器返回错误:(400)Bad Request。
组件商店交易失败摘要 未检测到任何交易错误。
警告 在这次行动中没有任何警告。
操作进度状态 没有阶段信息。
错误细节 在此操作期间检测到以下错误。 * [05/21/2015 10:17:07 AM] System.Deployment.Application.DeploymentDownloadException(未知子类型) - 下载(在SSL网站)/ VrWeb / XBAP /(X(1)F(A19128BE536C0F169406543CF67A57010F530A91107DCA648BF21D33107B728082815EBD74F65890A386DBF9CE68959DE5FAF7D765DAB75D404F9F0CCCE6FA791E1595FF5942C37FE46B4098E0D4126491A5C3701AF132E2AAA1DDC9D5DFFBD893A43C6149D7F9E62120BD0125FC6C97B1ED3E16E39BE7E49B40BCD66C18945F))/ AppFiles / Netsmart.VR.XBAP_2_0_1_1213 / Netsmart.VR.XBAP.exe.manifest没有成功。 - 来源:System.Deployment - 堆栈跟踪: 在System.Deployment.Application.SystemNetDownloader.DownloadSingleFile(下载CodeQueueItem) 在System.Deployment.Application.SystemNetDownloader.DownloadAllFiles() 在System.Deployment.Application.FileDownloader.Download(SubscriptionState subState) 在System.Deployment.Application.DownloadManager.DownloadManifestAsRawFile(Uri& sourceUri,String targetPath,IDownloadNotification notification,DownloadOptions options,ServerInformation& serverInformation) 在System.Deployment.Application.DownloadManager.DownloadApplicationManifest(AssemblyManifest deploymentManifest,String targetDir,Uri deploymentUri,IDownloadNotification notification,DownloadOptions options,Uri& appSourceUri,String& appManifestPath) 在System.Deployment.Application.DeploymentManager.BindCore(布尔阻塞,TempFile& tempDeploy,TempDirectory& tempAppDir,FileStream& refTransaction,String& productName) 在System.Deployment.Application.DeploymentManager.BindAsyncWorker() ---内部例外--- System.Net.WebException - 远程服务器返回错误:(400)错误请求。 - 来源:系统 - 堆栈跟踪: 在System.Net.HttpWebRequest.GetResponse() 在System.Deployment.Application.SystemNetDownloader.DownloadSingleFile(NextQueueItem next)
组件商店交易细节 没有可用的交易信息。
答案 0 :(得分:1)
事实证明,我们需要将查询字符串编码到清单中,以便按照here所述将身份验证信息传递给XBAP。问题是反向代理服务器将整个查询字符串视为资源字符串,并且因为它在无cookie的Asp.Net中对其间的查询字符串进行编码,所以反向代理在资源不存在时返回。因此,解决此问题的唯一方法是禁用反向代理。这就是客户在遇到同样问题时所做的事情。