PDA

View Full Version : سوال: کمک در مورد کشینگ وب سایت دات نت



thinkdiff
پنج شنبه 25 اردیبهشت 1393, 17:13 عصر
با سلام
دوستان یک سوالی داشتم در مورد Gzip و leverage browser caching در دات نت
در پی اچ پی و هاست های لینوکسی هر توی این موارد کد دارن و به راحتی به فایل htaccess اضافه میشن و تمام.اما برای دات نت رو نمیدونم
کسی می دونه این دوتا آپشن رو چطور می تونم روی سایت های دات نت پیاده کنم؟
ملاک هم سایت gtmetrix هست عزیزان

ممنون

kohyar
پنج شنبه 25 اردیبهشت 1393, 17:41 عصر
سلام دوستان
اولش باید خدمتتون بگم که هر صفحه در وب سایت های asp.net بصورت پیش فرض در هر بار فراخوانی می بایست یک بار کامپایل بشه و خروجی اطلاعات به کاربر نمایش داده بشه. ولیکن مشکل اینجاست که زمان کامپایل شدن صفحه به زمان نمایش اطلاعات اضافه میشه.
در صورتیکه تعداد مراجعات سایت شما زیاد باشه شما می تونید از خصوصیت caching استفاده کنید و خروجی html هر صفحه رو مدت زمانی در حافظه سرور نگه دارید تا در فراخوانی های بعدی کامپایل مجدد انجام نشود و فقط خروجی صفحه فراخوانی شده رو از حافظه سرور بخونید و به کاربر نمایش بدهید
برای شروع این پروژه ابتدا یک سایت جدید ایجاد کنید و یک لیبل روی یک فرم بگذارید و در کد پس زمینه فرم در Page_Load کد نمایش ساعت را بگذارید


Lbltime.Text = System.DateTime.Now.ToString();
تا اینجا وقتی سایت رو اجراء می کنید در هر بار رفرش صفحه ساعت جاری سیستم با نشان دادن ثانیه نمایش داده می شود. حال می خواهیم کاری کنیم که هر یک دقیقه (60 ثانبه) محتویات لیبل که نشان دهنده زمان جاری سیستم هستش نمایش داده بشه.
در فایل Web.config کد زیر رو اضافه می کنیم


<caching>
<outputCacheSettings>
<outputCacheProfiles>
<add name="AppCache1" enabled="true" duration="60"/>
</outputCacheProfiles>
</caching>


یادتون باشه که کد زیر رو در تگ <system.web> اضافه کنید
تا اینجا شما پروفایل رو با مدت زمان رفرش 60 ثانیه تعریف کردید
حال باید در بالای کد اچ تی ام ال تمامی صفحاتی که قراره خروجی Html شون تو حافظه سرور ذخیره بشه و هر 60 ثانیه کامپایل بشه، کد زیر رو اضافه کنید

<%@ outputcache cacheprofile="AppCache1" varybyparam="none" %>
نمونه پروژه رو هم رو سایت گذاشتم می تونید از اونجا دانلود کنید
http://netsazeh.com/SavePageInMemory.rar

موفق و موید باشید.

thinkdiff
جمعه 26 اردیبهشت 1393, 16:09 عصر
عزیز این کد رو گذاشتم اما سایت ارور 500 داد .
بعد پاکش کردم و به حالت قبل برگردوندم الان هم این ارور رو می ده http://alczaban.com/
اما زمان کشینگ رو روی 600000 قرار دادم

این محتوای اصلی فایل web.config سایت

<?xml version="1.0"?><configuration>
<configSections>
<sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectio nGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHa ndlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
<sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSecti onGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializatio nSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere"/>
<section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSe ction, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
<section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationSe rviceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
<section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSecti on, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
</sectionGroup>
</sectionGroup>
</sectionGroup>
<sectionGroup name="telerik.web.ui">
<section name="radScheduler" type="Telerik.Web.UI.RadSchedulerConfigurationSection" allowDefinition="MachineToApplication" requirePermission="false"/>
</sectionGroup>
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<section name="Portal.WebUI.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
</sectionGroup>
</configSections>
<connectionStrings>
<add name="xlsConStr" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=/Upload/Files/Serial.xls;Extended Properties=Excel 8.0"/>
<add name="xlsxConStr" connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=/Upload/Files/Serial.xlsx;Extended Properties=Excel 12.0"/>
<!--<add name="CatalogDBConnectionString" connectionString="Data Source=192.168.1.1;Initial Catalog=HiberdDB;Persist Security Info=True;User ID=hiberd;Password=1234" providerName="System.Data.SqlClient"/>-->
</connectionStrings>
<appSettings>
<add key="HiberdPortalConnectionString" value="Data Source=SRV18213\SQLEXPRESS;Initial Catalog=alc_db;Persist Security Info=True;User ID=alc_user;Password=alc!@#92"/>
<add key="CondTransfer" value="1000000"/>
<add key="MailServer" value="mail.hiberd.com"/>
<add key="EmailAccount" value="sitecontact@hiberd.com"/>
<add key="EmailPassword" value="12345"/>
<add key="ToEmail" value="info@domain.com"/>
<add key="CMSCommentEmail" value="info@domain.com"/>
<add key="Telerik.WebControls.EditorExamples.ItemHandler" value="~/Editor/Examples/DBFileBrowserContentProvider/Handler.ashx"/>
<add key="Telerik.Skin" value="Telerik"/>
<add key="ParsianEShopPin" value="xVkP2NGVJC2c8AP186V3"/>
</appSettings>
<system.web>
<sessionState timeout="10000"/>
<!--<customErrors mode="On" defaultRedirect="~/error.htm">
</customErrors>-->
<customErrors mode="Off" />


<authentication mode="Forms">
<forms timeout="100"/>
</authentication>
<pages>
<controls>
<add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add tagPrefix="telerik" namespace="Telerik.Web.UI" assembly="Telerik.Web.UI"/>
<add assembly="Hiberd.Framework.CommonUI" namespace="Hiberd.Framework.CommonUI.Component" tagPrefix="Hiberd"/>
<add assembly="Portal.WebUI" namespace="Portal.WebUI.Controls" tagPrefix="Hiberd"/>
<add src="~/Controls/HiFileUploadControl.ascx" tagName="HiFileUploadControl" tagPrefix="Hiberd"/>
<add src="~/Controls/HiUserFileUpload.ascx" tagName="HiUserFileUpload" tagPrefix="Hiberd"/>
<add src="~/Controls/ModuleActions.ascx" tagName="ModuleActions" tagPrefix="Hiberd"/>
<add src="~/Controls/ModuleContainer.ascx" tagName="ModuleContainer" tagPrefix="Hiberd"/>
<add src="~/Controls/AdminModuleContainer.ascx" tagName="AdminModuleContainer" tagPrefix="Hiberd"/>
<add src="~/Controls/ControlPanel.ascx" tagName="ControlPanel" tagPrefix="Hiberd"/>
<add src="~/Controls/HiEditor.ascx" tagName="HiEditor" tagPrefix="Hiberd"/>
<add src="~/Controls/HiComboLanguage.ascx" tagName="HiComboLanguage" tagPrefix="Hiberd"/>
<add src="~/Controls/HiComboTicketType.ascx" tagName="HiComboTicketType" tagPrefix="Hiberd"/>
<add src="~/Controls/HiComboContentDisplayMode.ascx" tagName="HiComboContentDisplayMode" tagPrefix="Hiberd"/>
<add src="~/Controls/HiComboCountry.ascx" tagName="HiComboCountry" tagPrefix="Hiberd"/>
<add src="~/Controls/HiComboSortBy.ascx" tagName="HiComboSortBy" tagPrefix="Hiberd"/>
<add src="~/Controls/HiComboStatus.ascx" tagName="HiComboStatus" tagPrefix="Hiberd"/>
<add src="~/Controls/HiComboUserType.ascx" tagName="HiComboUserType" tagPrefix="Hiberd"/>
<add src="~/Controls/HiComboGender.ascx" tagName="HiComboGender" tagPrefix="Hiberd"/>
<add src="~/Controls/HiDatePicker.ascx" tagName="HiDatePicker" tagPrefix="Hiberd"/>
<add src="~/Controls/CMSFlagSelector.ascx" tagName="CMSFlagSelector" tagPrefix="Hiberd"/>
<add src="~/Site/UserControls/QuickLogin.ascx" tagName="QuickLogin" tagPrefix="Hiberd"/>
<add src="~/Site/UserControls/QuickLogin2.ascx" tagName="QuickLogin2" tagPrefix="Hiberd"/>
<add src="~/Site/UserControls/UserStatus.ascx" tagName="UserStatus" tagPrefix="Hiberd"/>
<add src="~/Site/UserControls/QuickSearch.ascx" tagName="QuickSearch" tagPrefix="Hiberd"/>
<add src="~/Site/UserControls/MapPath.ascx" tagName="MapPath" tagPrefix="Hiberd"/>
<add src="~/Site/UserControls/Advertisement.ascx" tagName="Advertisement" tagPrefix="Hiberd"/>
<add src="~/Site/UserControls/CurrentDate.ascx" tagName="CurrentDate" tagPrefix="Hiberd"/>
<add src="~/Site/UserControls/Footer.ascx" tagName="Footer" tagPrefix="Hiberd"/>
<add src="~/Site/UserControls/CMSBanner.ascx" tagName="CMSBanner" tagPrefix="Hiberd"/>
<add src="~/Site/UserControls/FooterLinks.ascx" tagName="FooterLinks" tagPrefix="Hiberd"/>
<add src="~/Controls/HiComboOrderPaymentType.ascx" tagName="HiComboOrderPaymentType" tagPrefix="Hiberd"/>
<add src="~/Site/UserControls/CMSTopContent.ascx" tagName="CMSTopContent" tagPrefix="Hiberd"/>
<add src="~/Site/UserControls/CommonLabel.ascx" tagName="CommonLabel" tagPrefix="Hiberd"/>
<add src="~/Site/UserControls/JQMenu.ascx" tagName="JQMenu" tagPrefix="Hiberd"/>
<add src="~/Site/UserControls/PollList.ascx" tagName="PollList" tagPrefix="Hiberd"/>
<add src="~/Site/UserControls/CMSKeyWords.ascx" tagName="CMSKeyWords" tagPrefix="Hiberd"/>
<add src="~/Site/UserControls/esBasket.ascx" tagName="esBasket" tagPrefix="Hiberd"/>
<add src="~/Site/UserControls/SiteStatistics.ascx" tagName="SiteStatistics" tagPrefix="Hiberd"/>
<add src="~/Controls/HiTimePicker.ascx" tagName="HiTimePicker" tagPrefix="Hiberd"/>
<add src="~/Controls/Locale.ascx" tagName="Locale" tagPrefix="Hiberd"/>
<add src="~/Site/UserControls/PageTitle.ascx" tagName="PageTitle" tagPrefix="Hiberd"/>
<add src="~/Site/UserControls/PageDescription.ascx" tagName="PageDescription" tagPrefix="Hiberd"/>
<add src="~/Site/UserControls/QBasket.ascx" tagName="QBasket" tagPrefix="Hiberd"/>
<add src="~/Controls/CMSSpecialSelector.ascx" tagName="CMSSpecialSelector" tagPrefix="Hiberd"/>
<add src="~/Site/UserControls/UserStatusMenu.ascx" tagName="UserStatusMenu" tagPrefix="Hiberd"/>
<add src="~/Site/UserControls/PageParentTitle.ascx" tagName="PageParentTitle" tagPrefix="Hiberd"/>
<add src="~/Site/UserControls/PageRootTitle.ascx" tagName="PageRootTitle" tagPrefix="Hiberd"/>
<add src="~/Site/UserControls/CMSTemplateSelector.ascx" tagName="CMSTemplateSelector" tagPrefix="Hiberd"/>
<add src="~/Site/UserControls/TopMarket.ascx" tagName="TopMarket" tagPrefix="Hiberd"/>
<add src="~/Site/UserControls/Directory.ascx" tagName="Directory" tagPrefix="Hiberd"/>
<add src="~/Site/UserControls/Map.ascx" tagName="Map" tagPrefix="Hiberd"/>
<add src="~/Site/UserControls/NewsLetter.ascx" tagName="NewsLetter" tagPrefix="Hiberd"/>
<add src="~/Site/UserControls/esBasketMaster.ascx" tagName="esBasketMaster" tagPrefix="Hiberd"/>
<add src="~/Site/UserControls/AdvanceSearch.ascx" tagName="AdvanceSearch" tagPrefix="Hiberd"/>
<add src="~/Site/UserControls/SearchResult.ascx" tagName="SearchResult" tagPrefix="Hiberd"/>
<add src="~/Site/UserControls/CMSCompareBox.ascx" tagName="CMSCompareBox" tagPrefix="Hiberd"/>
</controls>
</pages>
<!--
Set compilation debug="true" to insert debugging
symbols into the compiled page. Because this
affects performance, set this value to true only
during development.
-->
<compilation debug="true">
<assemblies>
<add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
<add assembly="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Web.Extensions.Design, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</assemblies>
</compilation>
<httpHandlers>
<remove path="*.asmx" verb="*"/>
<add path="*.asmx" verb="*" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/>
<add path="*_AppService.axd" verb="*" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/>
<add path="ScriptResource.axd" verb="GET,HEAD" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/>
<add path="Telerik.RadUploadProgressHandler.ashx" type="Telerik.Web.UI.RadUploadProgressHandler" verb="*" validate="false"/>
<add path="Telerik.Web.UI.DialogHandler.aspx" type="Telerik.Web.UI.DialogHandler" verb="*" validate="false"/>
<add path="Telerik.Web.UI.SpellCheckHandler.axd" type="Telerik.Web.UI.SpellCheckHandler" verb="*" validate="false"/>
<add path="ChartImage.axd" type="Telerik.Web.UI.ChartHttpHandler" verb="*" validate="false"/>
<add path="Telerik.Web.UI.WebResource.axd" type="Telerik.Web.UI.WebResource" verb="*" validate="false"/>
<add path="*.aspx" verb="GET,HEAD,POST,DEBUG" type="Hiberd.HttpModules.UrlRewriter" />
</httpHandlers>
<httpModules>
<add name="RadUploadModule" type="Telerik.Web.UI.RadUploadHttpModule"/>
<add name="RadCompression" type="Telerik.Web.UI.RadCompression"/>
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</httpModules>
</system.web>
<system.web.extensions>
<scripting>
<webServices>
<jsonSerialization maxJsonLength="5000000"/>
</webServices>
</scripting>
</system.web.extensions>
<telerik.web.ui>
<radScheduler defaultAppointmentProvider="Integrated">
<appointmentProviders>
<add name="ReadOnlyXmlSchedulerProvider" type="Telerik.Web.UI.XmlSchedulerProvider" fileName="~/App_Data/Appointments.xml" persistChanges="false"/>
<add name="ReadOnlySchedulerData" type="Telerik.Web.Examples.Scheduler.MyDbSchedulerProvid er" connectionStringName="TelerikConnectionString" persistChanges="false"/>
</appointmentProviders>
</radScheduler>
</telerik.web.ui>
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<modules>
<remove name="ScriptModule"/>
<add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</modules>
<handlers>
<remove name="ScriptHandlerFactory"/>
<remove name="ScriptHandlerFactoryAppServices"/>
<remove name="ScriptResource"/>
<remove name="WebServiceHandlerFactory-Integrated"/>
<add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add name="Telerik_Web_UI_DialogHandler_aspx" path="Telerik.Web.UI.DialogHandler.aspx" type="Telerik.Web.UI.DialogHandler" verb="*" preCondition="integratedMode,runtimeVersionv2.0" />
<add name="Telerik_RadUploadProgressHandler_ashx" path="Telerik.RadUploadProgressHandler.ashx" type="Telerik.Web.UI.RadUploadProgressHandler" verb="*" preCondition="integratedMode,runtimeVersionv2.0" />
<add name="Telerik_Web_UI_SpellCheckHandler_axd" path="Telerik.Web.UI.SpellCheckHandler.axd" type="Telerik.Web.UI.SpellCheckHandler" verb="*" preCondition="integratedMode,runtimeVersionv2.0" />
<add name="Telerik_Web_UI_WebResource_axd" verb="*" preCondition="integratedMode" path="Telerik.Web.UI.WebResource.axd" type="Telerik.Web.UI.WebResource"/>
<add name="UrlRewriter" path="*.aspx" verb="GET,HEAD,POST,DEBUG" type="Hiberd.HttpModules.UrlRewriter" preCondition="integratedMode" />
</handlers>
</system.webServer>
<location path="~/Resources">
<system.web>
<authorization>
<deny users="*"/>
</authorization>
</system.web>
</location>
<system.codedom>
<compilers>
<compiler language="C#‎‎;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider,System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4">
<providerOption name="CompilerVersion" value="v3.5"/>
<providerOption name="WarnAsError" value="false"/>
</compiler>
</compilers>
</system.codedom>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1" appliesTo="v2.0.50727">
<dependentAssembly>
<assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Extensions.Design" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
<applicationSettings>
<Portal.WebUI.Properties.Settings>
<setting name="Portal_WebUI_info_webimc_www_ShoppingService"
serializeAs="String">
<value>http://466.ir/Webservice/SoapServer.php</value>
</setting>
<setting name="Portal_WebUI_com_samanepay_acquirer_PaymentIFBindi ng"
serializeAs="String">
<value>https://acquirer.samanepay.com/payments/referencepayment.asmx</value>
</setting>
</Portal.WebUI.Properties.Settings>
</applicationSettings>
</configuration>

kohyar
جمعه 26 اردیبهشت 1393, 18:54 عصر
اولاً گه قبل از هر گونه تغییر بنیادی شما باید از فایل Web.config یک نسخه backup می گرفتی
الان هم باید <customErrors mode="On"/> بزار تا دقیقا مشخص بشه که چه خطایی داره میده

mohsen_1687
جمعه 26 اردیبهشت 1393, 22:38 عصر
این کد رو درون web config قرار بدین درست میشه


<caching>
<outputCacheSettings>
<outputCacheProfiles>
<add name="AppCache1" enabled="true" duration="60"/>
</outputCacheProfiles>
</outputCacheSettings>
</caching>

meysam99
شنبه 27 اردیبهشت 1393, 22:41 عصر
سلام
برای استفاده از Gzip در iis 7 دستورات مخصوص به خود را دارد که اگه هاستینگ شما اجازه استفاده را می دهد می توانید از آن استفاده کنید.
همچین یک کش دیگه هم هست که مربوط به مرورگر می باشد که آن نیز در iis 7 دستورات خود را دارد و به راحتی فعال می شود و می توانید زمان بدهی که چه مدت فایلها را در مرورگر کش کند.
این دو مورد در سرعت نمایش سایت تاثیر بیشتری نسبت به outputCache دارد کش خروجی برای سایت های پر بازدید که صفحات برای بیشتر کاربرها به یک صورت نمایش داده می شود کاربرد دارد.
اگه از iis 6 استفاده میکنی برای دو نوع کش اول که گفتم باید حتما کد نویسی کنی

<staticContent>
<clientCache cacheControlCustom="public" cacheControlMode="UseMaxAge" cacheControlMaxAge="30.00:00:00" />
</staticContent>

zarnoosheh
چهارشنبه 31 اردیبهشت 1393, 00:13 صبح
برای GZip این کد رو تو WebConfig بزار :


<system.webServer>
<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/javascript" enabled="true"/>
<add mimeType="*/*" enabled="false"/>
</dynamicTypes>
<staticTypes>
<add mimeType="text/*" enabled="true"/>
<add mimeType="message/*" enabled="true"/>
<add mimeType="application/javascript" enabled="true"/>
<add mimeType="*/*" enabled="false"/>
</staticTypes>
</httpCompression>
<urlCompression doStaticCompression="true" doDynamicCompression="true"/>
</system.webServer>




http://smileweb.ir