2009-02-05 139 views
6

我使用ClickOnce发布Windows窗体应用程序。考虑到这个应用程序的整体大小,安装相当大。这是超过15 MB的东西。如果我压缩本地构建的应用程序,它会被挤压到2.5 MB。可以将ClickOnce部署的应用程序设置压缩吗?

ClickOnce部署是否可以压缩?

如果没有,则使用IIS压缩任何人都可以加快传输?这会有帮助吗?

回答

10

据我所知,你真的不能手动压缩您的组件。不过,你的绝对是可以使用IIS压缩。从我用带宽监视器进行的测试来看,它有很大的不同。一旦建立起来,你就不必考虑它,它只会自动发生。

我很惊讶,这是不是谈论较多。几年前,当我想这样做时,我几乎找不到有关它的信息。但是,如果您运行的是IIS 6.0,则this article应详细说明所需的所有更改。我不确定这些说明对于更高版本的IIS有多少不同。

2

这些说明对于更高版本的IIS是相同的。这种压缩工作相当快(这是在后台完成,只有一次,直到文件将被改变)

3

的ClickOnce没有任何内置的压缩​​支持。但是您可以在Web服务器级别使用HTTP压缩。

按照以下步骤下IIS7启用压缩:

%WINDIR%\ SYSTEM32 \ INETSRV \设置\的applicationHost.config (见我的意见,其他线路都默认)

<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files"> 
    <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" /> 
    <dynamicTypes> 
     <add mimeType="text/*" enabled="true" /> 
     <add mimeType="message/*" enabled="true" /> 
     <add mimeType="application/x-javascript" enabled="true" /> 
     <add mimeType="*/*" enabled="false" /> 
    </dynamicTypes> 
    <staticTypes> 
     <add mimeType="text/*" enabled="true" /> 
     <add mimeType="message/*" enabled="true" /> 
     <add mimeType="application/x-javascript" enabled="true" /> 
     <add mimeType="application/atom+xml" enabled="true" /> 
     <add mimeType="application/xaml+xml" enabled="true" /> 
     <!--HERE! deploy files--> 
     <add mimeType="application/octet-stream" enabled="true" /> 
     <!--HERE! application files--> 
     <add mimeType="application/x-ms-application" enabled="true" /> 
     <!--HERE! manifest files--> 
     <add mimeType="application/x-ms-manifest" enabled="true" /> 
     <add mimeType="*/*" enabled="false" /> 
    </staticTypes> 
</httpCompression> 

还是行不通??此添加到同一个文件(默认情况下,IIS 7.0不压缩文件,除非他们是“经常被要求”)

<serverRuntime frequentHitTimePeriod="00:00:59" /> 
相关问题