Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
IISÓÅ»¯ÍøÕ¾ÐÔÄÜ
 
×÷Õߣºwangjj89621 À´Ô´£º²©¿ÍÔ° ·¢²¼ÓÚ£º2016-3-22
  3439  次浏览      27
 

±¾ÎĽ«½éÉÜһЩ·½·¨ÓÃÓÚÓÅ»¯ASP.NETÍøÕ¾ÐÔÄÜ£¬ÕâЩ·½·¨¶¼ÊDz»ÐèÒªÐ޸ijÌÐò´úÂëµÄ¡£

ËüÃÇÖ÷Òª·ÖΪ¶þ¸ö·½Ã棺

1. ÀûÓÃASP.NET×ÔÉíµÄÀ©Õ¹ÐÔ½øÐÐÓÅ»¯¡£

2. ÓÅ»¯IISÉèÖá£

ÅäÖÃOutputCache

Óûº´æÀ´ÓÅ»¯ÍøÕ¾ÐÔÄܵķ½·¨£¬¹À¼ÆÊÇÎÞÈ˲»ÖªµÄ¡£ASP.NETÌṩÁËHttpRuntime.Cache¶ÔÏóÀ´»º´æÊý¾Ý£¬Ò²ÌṩÁËOutputCacheÖ¸ÁîÀ´»º´æÕû¸öÒ³ÃæÊä³ö¡£ ËäÈ»OutputCacheÖ¸ÁîʹÓÃÆðÀ´¸ü·½±ã£¬Ò²Óзdz£ºÃµÄЧ¹û£¬ ²»¹ý£¬ËüÐèÒªÎÒÃÇÔÚÄÇÐ©Ò³ÃæÖÐÌí¼ÓÕâÑùÒ»¸öÖ¸Áî¡£

¶ÔÓÚÉèÖùýOutputCacheµÄÒ³ÃæÀ´Ëµ£¬ä¯ÀÀÆ÷ÔÚÊÕµ½ÕâÀàÒ³ÃæµÄÏìÓ¦ºó£¬»á½«Ò³ÃæÏìÓ¦ÄÚÈÝ»º´æÆðÀ´¡£ Ö»ÒªÔÚÖ¸¶¨µÄ»º´æÊ±¼äÖ®ÄÚ£¬ÇÒÓû§Ã»ÓÐÇ¿ÖÆË¢ÐµIJÙ×÷£¬ÄÇô¾Í¸ù±¾²»»áÔÙ´ÎÇëÇó·þÎñ¶Ë£¬ ¶ø¶ÔÓÚÀ´×ÔÆäËüµÄä¯ÀÀÆ÷·¢ÆðµÄÇëÇó£¬Èç¹û»º´æÒ³ÒÑÉú³É£¬ÄÇô¾Í¿ÉÒÔÖ±½Ó´Ó»º´æÖÐÏìÓ¦ÇëÇ󣬼ӿìÏìÓ¦ËÙ¶È¡£ Òò´Ë£¬OutputCacheÖ¸Áî¶ÔÓÚÐÔÄÜÓÅ»¯À´Ëµ£¬ÊǺÜÓÐÒâÒåµÄ£¨³ý·ÇËùÓÐÒ³ÃæÒ³Ãæ¶¼ÔÚÆµ·±¸üУ©¡£

ÔÚÍøÕ¾µÄÓÅ»¯½×¶Î£¬ÎÒÃÇ¿ÉÒÔÓÃFiddlerÖ®ÀàµÄ¹¤¾ßÕÒ³öһЩÄÚÈݼ¸ºõ²»»á¸Ä±äµÄÒ³Ãæ£¬¸øËüÃÇÉèÖÃOutputCache£¬ µ«ÊÇ£¬°´ÕÕ´«Í³µÄ¿ª·¢Á÷³Ì£¬ÎÒÃÇÐèÒªÕë¶Ôÿ¸öÒ³ÃæÎļþÖ´ÐÐÒÔϲÙ×÷£º 1. Ç©³öÒ³ÃæÎļþ¡£ 2. Ìí¼ÓOutputCacheÖ¸Áî¡£ 3. ÖØÐ·¢²¼Ò³Ãæ¡£ 4. Ç©ÈëÎļþ£¨Èç¹ûÓöµ½¶à·ÖÖ§²¢ÐУ¬»¹¿ÉÄÜÐèÒªºÏ²¢²Ù×÷£©¡£ ÒÔÉÏÕâЩԴ´úÂë¹ÜÀíÖÆ¶È»áÈÃÒ»¸ö¼òµ¥µÄÊÂÇ鸴ÔÓ»¯£¬ÄÇô£¬ÓÐûһÖÖ¸ü¼òµ¥µÄ·½·¨Äܽâ¾öÕâ¸öÎÊÌâÄØ£¿

½ÓÏÂÀ´£¬±¾ÎĽ«½éÉÜÒ»ÖÖ·½·¨£¬ËüÀûÓÃASP.NET×ÔÉíµÄÀ©Õ¹ÐÔ£¬ÒÔÅäÖÃÎļþµÄ·½Ê½ÎªÒ³ÃæÉèÖÃOutputCache²ÎÊý¡£ ÅäÖÃÎļþÆäËü¾ÍÊÇÒ»¸öXMLÎļþ£¬ÄÚÈÝÈçÏ£º

<?xml version="1.0" encoding="utf-8"?>
<OutputCache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Settings>
<Setting Duration="3" FilePath="/Pages/a3.aspx" />
<Setting Duration="10" FilePath="/Pages/a5.aspx" />
</Settings>
</OutputCache>

¿´ÁËÕâ¶ÎÅäÖã¬ÎÒÏëÄúÓ¦¸ÃÒ²Äܲµ½ËüÄÜÓÐʲô×÷Óá£

ÿһÐÐÅäÖòÎÊýΪһ¸öÒ³ÃæÖ¸¶¨OutputCacheËùÐèÒªµÄ²ÎÊý£¬ ʾÀýÎļþΪÁ˼òµ¥Ö»Ê¹Óöþ¸ö²ÎÊý£¬ÆäËü¿ÉÒÔÖ§³ÖµÄ²ÎÊýÇë²Î¿¼OutputCacheÖ¸Áî¡£

ΪÁËÄÜÈÃÕâ¸öÅäÖÃÎļþÓÐЧ£¬ÐèÒªÔÚweb.configÖÐÅäÖÃÒÔÏÂÄÚÈÝ£¨ÊÊÓÃÓÚIIS7£©£º

<system.webServer>
<modules>
<add name="SetOutputCacheModule" type="WebSiteOptimize.SetOutputCacheModule, WebSiteOptimize" />
</modules>
</system.webServer>

ÔÚÕâÀÎÒ×¢²áÁËÒ»¸öHttpModule£¬ËüµÄÈ«²¿´úÂëÈçÏ£º

public class SetOutputCacheModule : IHttpModule
{
static SetOutputCacheModule()
{
// ¼ÓÔØÅäÖÃÎļþ
string xmlFilePath = Path.Combine(HttpRuntime.AppDomainAppPath, "OutputCache.config");
ConfigManager.LoadConfig(xmlFilePath);
}

public void Init(HttpApplication app)
{
app.PreRequestHandlerExecute += new EventHandler(app_PreRequestHandlerExecute);
}

void app_PreRequestHandlerExecute(object sender, EventArgs e)
{
HttpApplication app = (HttpApplication)sender;

Dictionary<string, OutputCacheSetting> settings = ConfigManager.Settings;
if( settings == null )
throw new ConfigurationErrorsException("SetOutputCacheModule¼ÓÔØÅäÖÃÎļþʧ°Ü¡£");

// ʵÏÖ·½·¨£º
// ²éÕÒÅäÖòÎÊý£¬Èç¹ûÕÒµ½Æ¥ÅäµÄÇëÇ󣬾ÍÉèÖÃOutputCache
OutputCacheSetting setting = null;
if( settings.TryGetValue(app.Request.FilePath, out setting) ) {
setting.SetResponseCache(app.Context);
}
}

ConfigManagerÀàÓÃÓÚ¶ÁÈ¡ÅäÖÃÎļþ£¬²¢ÆôÓÃÁËÎļþÒÀÀµ¼¼Êõ£¬µ±ÅäÖÃÎļþ¸üк󣬳ÌÐò»á×Ô¶¯ÖØÐ¼ÓÔØ£º

internal static class ConfigManager
{
private static readonly string CacheKey = Guid.NewGuid().ToString();

private static Exception s_loadConfigException;
private static Dictionary<string, OutputCacheSetting> s_settings;

public static Dictionary<string, OutputCacheSetting> Settings
{
get{
Exception exceptin = s_loadConfigException;
if( exceptin != null )
throw exceptin;

return s_settings;
}
}

public static void LoadConfig(string xmlFilePath)
{
Dictionary<string, OutputCacheSetting> dict = null;

try {
OutputCacheConfig config = XmlHelper.XmlDeserializeFromFile<OutputCacheConfig>(xmlFilePath, Encoding.UTF8);
dict = config.Settings.ToDictionary(x => x.FilePath, StringComparer.OrdinalIgnoreCase);
}
catch( Exception ex ) {
s_loadConfigException = new System.Configuration.ConfigurationException(
"³õʼ»¯SetOutputCacheModuleʱ·¢ÉúÒì³££¬Çë¼ì²é" + xmlFilePath + "ÎļþÊÇ·ñÅäÖÃÕýÈ·¡£", ex);
}
if( dict != null ) {
// ×¢²á»º´æÒƳý֪ͨ£¬ÒÔ±ãÔÚÓû§ÐÞ¸ÄÁËÅäÖÃÎļþºó×Ô¶¯ÖØÐ¼ÓÔØ¡£

// ²Î¿¼£ºÏ¸Ëµ ASP.NET Cache ¼°Æä¸ß¼¶Ó÷¨
// http://www.cnblogs.com/fish-li/archive/2011/12/27/2304063.html
CacheDependency dep = new CacheDependency(xmlFilePath);
HttpRuntime.Cache.Insert(CacheKey, xmlFilePath, dep,
Cache.NoAbsoluteExpiration, Cache.NoSlidingExpiration, CacheItemPriority.NotRemovable, CacheRemovedCallback);
}

s_settings = dict;
}
private static void CacheRemovedCallback(string key, object value, CacheItemRemovedReason reason)
{
string xmlFilePath = (string)value;

// ÓÉÓÚʼþ·¢Éúʱ£¬Îļþ¿ÉÄÜ»¹Ã»ÓÐÍêÈ«¹Ø±Õ£¬ËùÒÔÖ»ºÃÈóÌÐòÉԵȡ£
System.Threading.Thread.Sleep(3000);

// ÖØÐ¼ÓÔØÅäÖÃÎļþ
LoadConfig(xmlFilePath);
}
}

ÓÐÁËAutoSetOutputCacheModule£¬ÎÒÃǾͿÉÒÔÖ±½ÓʹÓÃÅäÖÃÎļþÎªÒ³ÃæÉèÖÃOutputCache²ÎÊý£¬¶ø²»ÐèÒªÐÞ¸ÄÈκÎÒ³Ãæ£¬ÊDz»ÊǺÜÈÝÒ×ʹÓã¿

˵Ã÷£ºMyMVC¿ò¼ÜÒÑÖ§³ÖÕâÖÖ¹¦ÄÜ£¬ËùÓÐÏà¹ØµÄ¿ÉÒÔ´ÓMyMVC¿ò¼ÜµÄÔ´ÂëÖлñÈ¡¡£

½¨Ò飺¶ÔÓÚһЩºÜÉٸıäµÄÒ³Ãæ£¬»º´æÒ³ÊÇÒ»ÖÖºÜÓÐЧµÄÓÅ»¯·½·¨¡£

ÆôÓÃÄÚÈݹýÆÚ

ÿ¸öÍøÕ¾¶¼»áÓÐһЩ×ÊÔ´Îļþ£¨Í¼Æ¬£¬JS£¬CSS£©£¬ÕâЩÎļþÏà¶ÔÓÚASPXÒ³ÃæÀ´Ëµ£¬ ËüÃǵÄÊä³öÄÚÈݼ«ÓпÉÄÜÔÚÒ»¶Î³¤Ê±¼äÖ®ÄÚ²»»áÓб仯£¬ ¶øIISÔÚÏìÓ¦ÕâÀà×ÊÔ´Îļþʱ²»»áÉú³ÉCache-ControlÏìӦͷ¡£ ÔÚÕâÖÖÇé¿öÏ£¬ä¯ÀÀÆ÷»òÐí»á»º´æËüÃÇ£¬Ò²Ðí»áÔٴη¢ÆðÇëÇ󣨱ÈÈçÖØÆôºó£©£¬×ÜÖ®¾ÍÊÇ»º´æÐÐΪ²»ÊÜ¿ØÖÆÇÒ»º´æÊ±¼ä²»¹»³¤¾Ã¡£

ÓÐûÓÐÏë¹ý¿ÉÒÔ°ÑËüÃÇÔÚä¯ÀÀÆ÷Öг¤¾Ã»º´æÆðÀ´ÄØ£¿

ΪÁ˸æËßä¯ÀÀÆ÷½«ÕâЩÎļþ³¤¾Ã»º´æÆðÀ´£¬¼õÉÙһЩÎÞÒâÒåµÄÇëÇó£¨Ìá¸ßÒ³Ãæ³ÊÏÖËÙ¶È£©£¬ÎÒÃÇ¿ÉÒÔÔÚIISÖÐÆôÓÃÄÚÈݹýÆÚ£¬ ÕâÑùÉèÖúó£¬IIS¾ÍÄÜÉú³ÉCache-ControlÏìӦͷ£¬Ã÷È·¸æËßä¯ÀÀÆ÷½«Îļþ»º´æ¶à¾Ã¡£

ÔÚIIS6ÖУ¬Õâ¸ö²ÎÊýºÜºÃÕÒµ½£º

È»¶ø£¬ÔÚIIS7ÖУ¬Õâ¸ö²ÎÊý²»ÈÝÒ×±»·¢ÏÖ£¬ÐèÒªÒÔϲÙ×÷²ÅÄÜÕÒµ½£º Ñ¡ÔñÍøÕ¾£¨»òÕßÍøÕ¾×ÓĿ¼£©½Úµã£¬Ë«»÷¡¾HTTPÏìÓ¦±êÍ·¡¿

ÔÙµã»÷Óұߵġ¾ÉèÖó£ÓñêÍ·¡¿Á´½Ó£¬

´Ëʱ½«»áÏÔʾ£º

˵Ã÷£º¡¾ÆôÓÃÄÚÈݹýÆÚ¡¿Õâ¸öÉèÖÿÉÒÔ»ùÓÚÕû¸öÍøÕ¾£¬Ò²¿ÉÒÔÕë¶Ô×ÓĿ¼£¬»òÕßÒ»¸ö¾ßÌåµÄÎļþ¡£

×¢Ò⣺Èç¹ûÄúÔÚIIS7ÖÐÕë¶Ôij¸ö×ÓĿ¼»òÕßÎļþÉèÖá¾ÆôÓÃÄÚÈݹýÆÚ¡¿£¬Ç°ÃæµÄ¶Ô»°¿ò¿´ÆðÀ´ÊÇһģһÑùµÄ£¬ È»¶ø£¬ÔÚIIS6ÖУ¬ÎÒÃÇ¿ÉÒÔÇå³þµØ´Ó¶Ô»°¿òµÄ±êÌâÀ¸ÖÐÖªµÀÎÒÃÇÔÚ×öʲô£º

ÓÐÊ±Õæ¸Ð¾õIIS7µÄ½çÃæÔÚÍ˲½£¡

×îºóÎÒÏë˵һ¾ä£º¿ÉÒÔÖ±½ÓΪÕû¸öÍøÕ¾ÆôÓÃÄÚÈݹýÆÚ£¬ASPXÒ³ÃæÊDz»»á±»»º´æµÄ£¡

˵µ½ÕâÀï¿ÉÄÜÓÐÈË»áÏ룺Õâ¸ö¹ýÆÚʱ¼äÎÒ¸ÃÉèÖöà¾ÃÄØ£¿ Ê®·ÖÖÓ£¬2¸öСʱ£¬Ò»Ì죬»¹ÊÇÒ»¸öÔ£¿ ÔÚÎÒ¿´À´£¬Õâ¸öʱ¼äÔ½¾ÃÔ½ºÃ¡£ ¿ÉÄÜÓÐÈËÓÖ»á˵ÁË£ºÍòÒ»ÎÒÒªÉý¼¶Ä³¸öJSÎļþÔõô°ì£¬Ê±¼äÉèÖþÃÁË£¬Óû§Ôõô¸üÐÂÄØ£¿ Èç¹ûÄãÎÊÎÒÕâ¸öÎÊÌ⣬ÎÒÒ²Ö»ÄÜ˵ÊÇÄãµÄ´úÂë²»ºÏÀí£¨±Ï¾¹Äã½â¾ö²»ÁËÉý¼¶ÎÊÌ⣩£¬ÏëÖªµÀÔ­ÒòµÄ»°£¬Çë¼ÌÐøÔĶÁ¡£

½â¾ö×ÊÔ´ÎļþÉý¼¶ÎÊÌâ

¶ÔÓÚһЩ¹æÄ£²»´óµÄÍøÕ¾À´Ëµ£¬Í¨³£»á½«×ÊÔ´ÎļþÓë³ÌÐòÎļþÒ»Æð²¿Êðµ½Ò»¸öÍøÕ¾ÖС£ Õâʱ¿ÉÄÜ»á²ÉÓÃÏÂÃæµÄ·½Ê½À´ÒýÓÃJS»òÕßCSSÎļþ£º

<link type="text/css" href="aaaa.css" rel="Stylesheet" />
<script type="text/javascript" src="bbb.js"></script>

ÔÚÕâÖÖÇé¿öÏ£¬Èç¹ûʹÓÃÁËÇ°ÃæËù˵µÄ¡¾ÆôÓÃÄÚÈݹýÆÚ¡¿·½·¨£¬ÄÇôµ±ÓÐJS,CSSÎļþÐèÒªÉý¼¶Ê±£¬ ÓÉÓÚä¯ÀÀÆ÷µÄ»º´æ»¹Ã»ÓйýÆÚ£¬ËùÒԾͲ»»áÇëÇó·þÎñÆ÷£¬´Ëʱ»áʹÓÃÒÑ»º´æµÄ°æ±¾£¬ Òò´Ë¿ÉÄÜ»á³öÏÖ¸÷ÖÖÆæ¹ÖµÄBUG

¶ÔÓÚÇ°ÃæÌ¸µ½µÄBUG£¬ÎÒÈÏΪ¸ùÔ´ÔÚÓÚÒýÓÃJS,CSSÎļþµÄ·½Ê½ÓÐȱÏÝ£¬ ÄÇÖÖ·½·¨ÍêȫûÓп¼Âǵ½°æ±¾Éý¼¶ÎÊÌ⣬ ÕýÈ·µÄ·½·¨ÓжþÖÖ£º 1. ¸øÎļþÃûÌí¼Ó°æ±¾ºÅ£¬ÏñjqueryÄÇÑù£¬Ã¿¸ö°æ±¾Ò»¸öÎļþ(jquery-1.4.4.min.js)¡£ 2. ÔÚURLºóÃæÌí¼ÓÒ»¸ö°æ±¾ºÅ£¬ÈÃÔ­ÏȵÄURLʧЧ¡£

µÚÒ»ÖÖ·½·¨ÓÉÓÚÿ´ÎÉý¼¶¶¼²úÉúÁËÒ»¸öÐÂÎļþ£¬ËùÒÔ²»´æÔÚ»º´æÎÊÌ⣬µ«ÊÇ£¬Î¬»¤Ò»´ó¶ÑÎļþµÄ³É±¾¿ÉÄÜ»á±È½Ï´ó£¬ Òò´ËÎÒ½¨Òé²ÉÓõڶþÖÖ·½·¨À´½â¾ö¡£

ÔÚMyMVCµÄʾÀý´úÂëÖУ¬ÎÒʹÓÃÁËÏÂÃæµÄ·½·¨À´ÒýÓÃÕâЩ×ÊÔ´Îļþ£º

<%= HtmlExtension.RefCssFileHtml("/css/StyleSheet.css")%>
<%= HtmlExtension.RefJsFileHtml("/js/MyPage/fish.js")%>

ÔÚÒ³ÃæÔËÐÐʱ£¬»á²úÉúÈçϵÄÊä³ö½á¹û£º

<link type="text/css" rel="Stylesheet" href="/css/StyleSheet.css?_t=634642185820000000" />
<script type="text/javascript" src="/js/MyPage/fish.js?_t=634642154020000000"></script>

Õâ¶þ¸ö¹¤¾ß·½·¨µÄʵÏÖ´úÂëÈçÏ£¨ÔÚMyMVCµÄʾÀý´úÂëÖУ©£º

private static readonly string s_root = HttpRuntime.AppDomainAppPath.TrimEnd('\\');

public static string RefJsFileHtml(string path)
{
string filePath = s_root + path.Replace("/", "\\");
string version = File.GetLastWriteTimeUtc(filePath).Ticks.ToString();
return string.Format("<script type=\"text/javascript\" src=\"{0}?_t={1}\"></script>\r\n", path, version);
}

public static string RefCssFileHtml(string path)
{
string filePath = s_root + path.Replace("/", "\\");
string version = File.GetLastWriteTimeUtc(filePath).Ticks.ToString();
return string.Format("<link type=\"text/css\" rel=\"Stylesheet\" href=\"{0}?_t={1}\" />\r\n", path, version);
}

ÉÏÃæÕâÖÖ»ñÈ¡Îļþ°æ±¾ºÅµÄ·½·¨£¬ÊÇÒ»ÖֱȽϼòµ¥µÄ½â¾ö·½°¸¡£ ÿ¸öÒýÓõĵط½ÔÚÉú³ÉHTML´úÂëʱ£¬¶¼»á·ÃÎÊÎļþµÄ×îºóÐÞ¸Äʱ¼ä£¬Õâ»á¸ø´ÅÅÌ´øÀ´Ò»µã¶ÁµÄ¿ªÏú£¬ Èç¹ûÄúµ£ÐÄÕâÖÖʵÏÖ·½Ê½¿ÉÄÜ»á¸øÐÔÄÜ´øÀ´Ó°Ï죬ÄÇôҲ¿ÉÒÔÔö¼ÓÒ»¸öÅäÖÃÎļþµÄ·½Ê½À´½â¾ö£¨Çë×ÔÐÐʵÏÖ£©£¬ ÀýÈçÒÔϽṹ£º

<?xml version="1.0" encoding="utf-8"?>
<ArrayOfFileVersion xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<FileVersion FilePath="/js/JScript.js" Version="255324" />
<FileVersion FilePath="/css/StyleSheet.css" Version="2324235" />
</ArrayOfFileVersion>

Èç¹ûÄúÈÏΪÕâÖÖÅäÖÃÎļþÐèÒªÊÖ¹¤Î¬»¤£¬²»¹»×Ô¶¯»¯£¬»¹¿ÉÒÔ²ÉÓóÌÐòµÄ·½Ê½×Ô¶¯ÔÚÔËÐÐʱά»¤Ò»¸öÁÐ±í£¬ ×ÜÖ®£¬Ö±½ÓÒýÓÃ×ÊÔ´ÎļþµÄ·½·¨ÊÇÒ»ÖÖÖ±½ÓñîºÏ£¬»á¸øÎļþÉý¼¶´øÀ´Âé·³£¬ ÎÒÃÇ¿ÉÒÔͨ¹ýÒ»¸öÍⲿ·½·¨À´½â¿ªÕâ¸öÖ±½ÓñîºÏ£¨¸øFileVersionÔö¼ÓÒ»¸öÊôÐÔ»¹»¹¿ÉÒÔ½«ÄÚ²¿µØÖ·¸Ä³ÉÒ»¸öCDNµØÖ·£©¡£

ÆôÓÃѹËõ

ѹËõÏìÓ¦½á¹ûÒ²Êdz£ÓõÄÍøÕ¾ÓÅ»¯·½·¨£¬ÓÉÓÚÏÖÔÚµÄä¯ÀÀÆ÷¶¼ÒÑÖ§³ÖѹËõ¹¦ÄÜ£¬ Òò´Ë£¬Èç¹ûÔÚ·þÎñ¶ËÄÜѹËõÏìÓ¦½á¹û£¬¶ÔÓÚÍøËÙ½ÏÂýµÄÓû§À´Ëµ£¬»á¼õÉٺܶàÍøÂç´«Êäʱ¼ä£¬×îÖÕµÄÌåÑé¾ÍÊÇÍøÒ³ÏÔʾËٶȱä¿ìÁË£¡

 

IIS6ËäÈ»ÌṩѹËõµÄÉèÖýçÃæ£¬È»¶øÅäÖÃÊÇ»ùÓÚ·þÎñÆ÷¼¶±ðµÄ£º

×¢Ò⣺ÕâÀïµÄ¡¾Ó¦ÓóÌÐòÎļþ¡¿²»°üÀ¨aspx£¬Èç¹ûÐèҪѹËõaspxµÄÏìÓ¦£¬ ÐèÒªÊÖ¹¤ÐÞ¸Äx:\WINDOWS\system32\inetsrv\MetaBase.xmlÎļþ£¨²Î¿¼¼Ó´ó×ֺŲ¿·Ö£©£º

<IIsCompressionScheme    Location ="/LM/W3SVC/Filters/Compression/gzip"
HcCompressionDll="%windir%\system32\inetsrv\gzip.dll"
HcCreateFlags="1"
HcDoDynamicCompression="TRUE"
HcDoOnDemandCompression="TRUE"
HcDoStaticCompression="TRUE"
HcDynamicCompressionLevel="9"
HcFileExtensions="htm
html
txt
js
css
htc"
HcOnDemandCompLevel="10"
HcPriority="1"
HcScriptFileExtensions="asp
exe
aspx
axd"
>

˵Ã÷£ºÒªÐÞ¸ÄMetaBase.xml£¬ÐèҪֹͣIIS Admin Service·þÎñ¡£

ÔÚIIS7ÖУ¬ÎÒÃÇ¿ÉÒÔÔÚ·þÎñÆ÷¼¶±ðÅäÖÃѹËõ²ÎÊý£º

È»ºóÔÚÿ¸öÍøÕ¾ÖпªÆô»òÕ߹رÕѹËõ¹¦ÄÜ£º

˵Ã÷£ºIIS7ÖÐÒѾ­²»ÔÙʹÓÃMetaBase.xml£¬ËùÒÔÎÒÃÇÕÒ²»µ½IIS6µÄÄÇЩÉèÖÃÁË¡£IIS7ѹËõµÄ¹ýÂËÌõ¼þ²»ÔÙÕë¶ÔÀ©Õ¹Ãû£¬¶øÊDzÉÓÃÁËmimeType¹æÔò£¨±£´æÔÚapplicationHost.config£©¡£ ¸ù¾ÝIIS7µÄѹËõ¹æÔò£¬µ±ÎÒÃÇÆôÓö¯Ì¬Ñ¹Ëõºó£¬»áѹËõaspxµÄÏìÓ¦½á¹û¡£

¶þÖÖѹËõ·½·¨µÄ²î±ð£º

1. ¾²Ì¬ÄÚÈÝѹËõ£ºµ±·þÎñÆ÷ÔÚµÚÒ»´ÎÏìӦij¸ö¾²Ì¬Îļþʱ£¬»áÉú³ÉÒ»¸öѹËõºóµÄ½á¹û£¬²¢±£´æµ½´ÅÅÌÖУ¬ÒÔ±ãÖØÓá£

2. ¶¯Ì¬ÄÚÈÝѹËõ£º¡¾Ã¿´Î¡¿ÔÚÏìÓ¦¿Í»§¶Ë֮ǰ£¬Ñ¹ËõÏìÓ¦½á¹û£¬ÔÚÄÚ´æÖÐÍê³É£¬Òò´Ë»á¸øCPU´øÀ´Ò»Ð©¸ºµ£¡£

×¢Ò⣺Ҫ²»Òª¡¾ÆôÓö¯Ì¬ÄÚÈÝѹËõ¡¿Õâ¸ö²ÎÊý£¬ÐèÒªÆÀ¹À·þÎñÆ÷µÄCPUÊÇ·ñÄÜÒÔ³ÐÊÜ£¨¹Û²ìÈÎÎñ¹ÜÀíÆ÷»òÕ߲鿴ÐÔÄܼÆÊýÆ÷£©¡£

ɾ³ýÎÞÓõÄHttpModule

¶ÔÒ»¸öÍøÕ¾À´Ëµ£¬ASP.NETÌṩµÄÓÐЩHttpMoudle¿ÉÄܲ¢²»ÊÇÐèÒªµÄ£¬ È»¶ø£¬Èç¹ûÄ㲻ȥÊÖ¹¤½ûÓÃËüÃÇ£¬ËüÃÇÆäʵ»áÒ»Ö±ÔËÐС£ ±ÈÈç ÎÒ »á½ûÓÃÏÂÃæÕâЩHttpMoudle£º

<httpModules>
<remove name="Session"/>
<remove name="RoleManager"/>
<remove name="PassportAuthentication"/>
<remove name="Profile"/>
<remove name="ServiceModel"/>
</httpModules>


¶ÔÓÚʹÓÃFormsÉí·ÝÈÏÖ¤µÄÍøÕ¾µÄÀ´Ëµ£¬ÏÂÃæÕâЩHttpModuleÒ²ÊÇ¿ÉÒÔ½ûÓõģº
<httpModules>
<remove name="WindowsAuthentication"/>
<remove name="FileAuthorization"/>
</httpModules>

ÆäËüÓÅ»¯Ñ¡Ïî

ÓÅ»¯ASP.NETÍøÕ¾ÊÇÒ»¸ö´óµÄ»°Ì⣬³ýÁ˲©¿ÍÖнéÉܵÄÕâЩ·½·¨Ö®Í⣬»¹ÓÐÒÔÏ·½·¨Ò²ÊÇ¿ÉÒԲο¼µÄ£º

1. Éý¼¶·þÎñÆ÷Ó²¼þÅäÖá£

2. ʹÓÃWindows Server 2008ÒÔÉϰ汾²Ù×÷ϵͳ£¨ÍøÂçÐÔÄܱÈ2003ÒªºÃ£©¡£

3. ÓÅ»¯²Ù×÷ϵͳÅäÖã¨ÀýÈç½ûÓò»ÐèÒªµÄ·þÎñ£©¡£

4. ½ûÓõ÷ÊÔģʽ¡£ 5. ÍøÕ¾Ê¹ÓÃרÓÃÓ¦ÓóÌÐò³Ø¡£

   
3439 ´Îä¯ÀÀ       27
 
Ïà¹ØÎÄÕÂ

Éî¶È½âÎö£ºÇåÀíÀôúÂë
ÈçºÎ±àд³öÓµ±§±ä»¯µÄ´úÂë
ÖØ¹¹-ʹ´úÂë¸ü¼ò½àÓÅÃÀ
ÍŶÓÏîÄ¿¿ª·¢"±àÂë¹æ·¶"ϵÁÐÎÄÕÂ
 
Ïà¹ØÎĵµ

ÖØ¹¹-¸ÄÉÆ¼ÈÓдúÂëµÄÉè¼Æ
Èí¼þÖØ¹¹v2
´úÂëÕû½àÖ®µÀ
¸ßÖÊÁ¿±à³Ì¹æ·¶
 
Ïà¹Ø¿Î³Ì

»ùÓÚHTML5¿Í»§¶Ë¡¢Web¶ËµÄÓ¦Óÿª·¢
HTML 5+CSS ¿ª·¢
ǶÈëʽC¸ßÖÊÁ¿±à³Ì
C++¸ß¼¶±à³Ì
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]

ʹÓÃdecj¼ò»¯Webǰ¶Ë¿ª·¢
Web¿ª·¢¿ò¼ÜÐγÉÖ®ÂÃ
¸üÓÐЧÂʵÄʹÓÃVisual Studio
MVP+WCF+Èý²ã½á¹¹´î½¨¿ò¼Ü
ASP.NETÔËÐлúÖÆÇ³Îö¡¾Í¼½â¡¿
±àд¸üºÃµÄC#´úÂë
10¸öVisual Studio¿ª·¢µ÷ÊÔ¼¼ÇÉ

.NET¿ò¼ÜÓë·Ö²¼Ê½Ó¦Óüܹ¹Éè¼Æ
.NET & WPF & WCFÓ¦Óÿª·¢
UML&.Net¼Ü¹¹Éè¼Æ
COM×é¼þ¿ª·¢
.NetÓ¦Óÿª·¢
InstallShield

ÈÕÕÕ¸Û .NET Framework & WCFÓ¦Óÿª·¢
Éñ»ªÐÅÏ¢ .NETµ¥Ôª²âÊÔ
±±¾© .NetÓ¦ÓÃÈí¼þϵͳ¼Ü¹¹
̨´ïµç×Ó .NET³ÌÐòÉè¼ÆÓ뿪·¢
ÈüÃÅÌú¿Ë C#Óë.NET¼Ü¹¹Éè¼Æ
¹ã¶«ºËµç .NetÓ¦ÓÃϵͳ¼Ü¹¹