首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是否有可能知道IE是否从C#或powershell代码中重新下载Silverlight xaps?

是否有可能知道IE是否从C#或powershell代码中重新下载Silverlight xaps?
EN

Stack Overflow用户
提问于 2019-02-26 14:58:58
回答 1查看 45关注 0票数 0

我们仍然有Silverlight (悲伤的故事),我需要写一个烟雾测试,检查IE是否在部署后访问该站点时重新下载XAP文件。重新下载XAP意味着存在某种配置/部署问题,这是不好的。

当然,代码要么是C#,要么是Powershell,并且必须在没有人工干预的情况下运行。例如,它运行在一个专用的测试运行器上,在那里我可以安装Fiddler。

然而,对此使用Fiddler或任何全局代理并不理想,因为相同的测试运行程序用于检查部署在云中的不同站点。不过,这是有可能的。更复杂的是,为了解密HTTPS通信量,Fiddler必须安装它的SSL证书。简言之,我不知道这是否正确。此外,我还不清楚如何自动化这些步骤:

  1. 安装证书
  2. 启动捕获
  3. 获取捕获的通信量
  4. 停止捕获
  5. 移除证书

因此,我正在寻找关于如何做它的建议,而不一定使用Fiddler或全局HTTP代理。有什么想法吗?

编辑1

此测试已在手动烟雾测试列表中。我们正在自动化这些测试,现在轮到这个测试了。

EN

回答 1

Stack Overflow用户

发布于 2019-02-27 05:44:40

看起来你在试着测试IE的行为,这是不切实际的。

例如,IE可能被配置为总是在退出时删除其缓存,因此在后续请求中重新下载XAP是预期的行为。

实际上,我会尝试测试宿主HTML页面和/或HTTP响应。

例如,您可以使用WebRequest以编程方式请求网页,然后检查响应头中是否存在内容过期或缓存控制,这将告诉浏览器是否应该缓存该页。

您还可能希望检查网页上具有<param />值的<object />元素的source子元素。

如果URL与以前相同,浏览器将缓存XAP文件。因此,您可以检查该值是否随后续请求而改变。

来自https://learn.microsoft.com/en-us/previous-versions/office/developer/sharepoint-2010/gg701782(v%3Doffice.14)

...the浏览器将缓存此.xap文件,就像基于设置的缓存策略的任何其他文件一样。

下面是一些示例C#代码:

代码语言:javascript
运行
复制
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(new Uri("http://example.com/SilverlightHostingPage.html"));

HttpWebResponse response = (HttpWebResponse)request.GetResponse();
string cacheControlHeader = response.GetResponseHeader("Cache-Control");
// TODO: check header value

XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(response.GetResponseStream());
string xapUrl = xmlDoc.DocumentElement.SelectSingleNode("//object/param[@name='source']").Attributes("value").Value;
// TODO: check xap url
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54888350

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档