我正在将旧的asmx webservice移动到带有IIS7的新服务器上
这个web服务基本上将一个大数据集(10mb +)发送到winform应用程序
旧解决方案是使用自定义soap扩展实现的,该扩展在将流发送到客户端之前压缩内容。
当然,客户端实现了相同的自定义soap扩展,以解压缩数据集中的流。
一切都运作良好多年。
我的客户不想将代码升级到WCF。他们只想将旧版App放在新服务器上并使用新的动态内容压缩功能
我们正在测试服务器(win serv 2008)上进行测试,看起来它运行得很好,即使看起来很慢:我们看不到未压缩和压缩流之间在性能(速度)上的任何差异。 />
这是问题所在。我应该在哪里设置?大多数人说我不能把它放在我的web.config中;其他人说它可以放在那里。我有点困惑。
有什么技巧或事我应该知道吗?
那么mimeTypes呢?我应该在哪里设置一些参数? ...考虑我的流是XML(数据集)??
答案 0 :(得分:1)
假设您可以轻松禁用压缩代码,那么使用IIS7压缩功能非常简单。
您可以使用IIS7中的web.config在文件夹级别启用和禁用压缩。
但是,控制哪些mimetypes被压缩而哪些没有被压缩的配置存储在web服务器级别。
要在给定的site / vdir /文件夹上启用动态压缩,假设服务器已安装动态压缩功能,只需在IIS管理器中打开您的站点/文件夹,然后点击“压缩”图标。在这里,您可以启用静态和动态压缩。
此时,检查它是否有效(即流量确实被压缩)。如果是这样,那么默认的动态压缩配置正在运行,你可以去抢早餐:)
如果没有,那么你需要:
有一点令人讨厌的是mimetypes完全匹配,有时默认规则不符合你想要的一切。
例如,我向服务器添加了4条额外规则:然后:
因为出于某种原因,我发现我的.Net的json / xml响应的mimetype最后有了这个额外的'charset ='位。如果它确实存在,并且它不在规则列表中,那么IIS7压缩将不会启动。让我感到年龄(以及很多使用Fiddler!)来解决这个问题!