iUltra-fastASP.
NETBuildingUltra-fastandUltra-scalableWebSitesUsingASP.
NETandSQLServerRichardKiessigUltra-fastASP.
NETCopyright2009byRichardKiessigAllrightsreserved.
Nopartofthisworkmaybereproducedortransmittedinanyformorbyanymeans,electronicormechanical,includingphotocopying,recording,orbyanyinformationstorageorretrievalsystem,withoutthepriorwrittenpermissionofthecopyrightownerandthepublisher.
ISBN-13(pbk):978-1-4302-2383-2ISBN-13(electronic):978-1-4302-2384-9PrintedandboundintheUnitedStatesofAmerica987654321Trademarkednamesmayappearinthisbook.
Ratherthanuseatrademarksymbolwitheveryoccurrenceofatrademarkedname,weusethenamesonlyinaneditorialfashionandtothebenefitofthetrademarkowner,withnointentionofinfringementofthetrademark.
LeadEditor:MatthewMoodieTechnicalReviewer:EditorialBoard:ClayAndres,SteveAnglin,MarkBeckner,EwanBuckingham,TonyCampbell,GaryCornell,JonathanGennick,MichelleLowman,MatthewMoodie,JeffreyPepper,FrankPohlmann,BenRenow-Clarke,DominicShakeshaft,MattWade,TomWelshCopyEditors:KimWimpsettandTiffanyTaylorProductionAssistance:PatrickCunninghamIndexer:BeckyHornyakArtist:AprilMilneDistributedtothebooktradeworldwidebySpringer-VerlagNewYork,Inc.
,233SpringStreet,6thFloor,NewYork,NY10013.
Phone1-800-SPRINGER,fax201-348-4505,e-mailorders-ny@springer-sbm.
com,orvisithttp://www.
springeronline.
com.
Forinformationontranslations,pleasee-mailinfo@apress.
com,orvisithttp://www.
apress.
com.
ApressandfriendsofEDbooksmaybepurchasedinbulkforacademic,corporate,orpromotionaluse.
eBookversionsandlicensesarealsoavailableformosttitles.
Formoreinformation,referenceourSpecialBulkSales–eBookLicensingwebpageathttp://www.
apress.
com/info/bulksales.
Theinformationinthisbookisdistributedonan"asis"basis,withoutwarranty.
Althougheveryprecautionhasbeentakeninthepreparationofthiswork,neithertheauthor(s)norApressshallhaveanyliabilitytoanypersonorentitywithrespecttoanylossordamagecausedorallegedtobecauseddirectlyorindirectlybytheinformationcontainedinthiswork.
Thesourcecodeforthisbookisavailabletoreadersathttp://www.
apress.
com.
iiiContentsataGlanceAbouttheAuthorxviiiIntroduction.
xxChapter1:PrinciplesandMethod1Chapter2:ClientPerformance13Chapter3:Caching71Chapter4:IIS7.
127Chapter5:ASP.
NETThreadsandSessions.
161Chapter6:UsingASP.
NETtoImplementandManageOptimizationTechniques201Chapter7:ManagingASP.
NETApplicationPolicies229Chapter8:SQLServerRelationalDatabase.
263Chapter9:SQLServerAnalysisServices349Chapter10:InfrastructureandOperations.
385Chapter11:PuttingItAllTogether.
411Glossary.
435Index.
439CONTENTSivContentsAbouttheAuthorxviiiAbouttheTechnicalReviewer.
xixIntroduction.
xxChapter1:PrinciplesandMethod1TheDifferenceBetweenPerformanceandScalability2WhyUltra-fastandUltra-scalable2Optimization3Process.
4TheFullExperience5End-to-EndWebPageProcessing.
5OverviewofPrinciples.
8PerformancePrinciples8SecondaryTechniques9EnvironmentandToolsUsedinThisBook.
10SoftwareToolsandVersions.
10Terminology.
11TypographicConventions11Author'sWebSite.
12Summary12Chapter2:ClientPerformance13BrowserPageProcessing.
14NetworkConnectionsandtheInitialHTTPRequest14CONTENTSvPageParsingandNewResourceRequests.
16PageResourceOrderandReordering17BrowserCaching18NetworkOptimizations19ScriptIncludeFileHandling.
21IncreaseParallelismbyQueuingResourcesBeforeScripts.
22MinimizetheNumberofScriptFiles23RequestingObjectsAftertheRestofthePage.
26ScriptDefer26Server-SideAlternativestoScript.
26DownloadLess27ReducetheNumberofResourcesperPage.
27MinifyYourHTML,CSS,andJavaScript.
28MaximizeCompressibility.
30ImageOptimization.
30WebSiteIconFile.
34GeneralHTML,CSS,andJavaScriptOptimization.
35UsingJavaScripttoGatePageRequests.
39SubmitButtons.
39Links.
40UsingJavaScripttoReduceHTMLSize.
41GenerateRepetitiveHTML.
41AddRepetitiveTexttoYourTags.
43UploadLess43CONTENTSviCSSOptimizations45ImageSpritesandClustering49LeveragingDHTML.
52UsingAjax.
52UsingSilverlight.
55BuildingHTMLControls55CallingintoSilverlightfromJavaScript58OtherWaystoUseSilverlighttoImprovePerformance.
59ImprovingRenderingSpeed60Precaching.
61PrecachingImages.
62PrecachingCSSandJavaScript62TablelessLayoutUsingCSS64OptimizingJavaScriptPerformance66Summary67Chapter3:Caching71CachingatAllTiers.
72BrowserCache73CachingStaticContent.
73CachingDynamicContent76ViewState.
78ProtectingViewStateDataIntegrity.
79Cookies.
85SettingSessionCookies.
86MultipleName/ValuePairsinaSingleCookie.
86CookieProperties86CONTENTSviiSilverlightIsolatedStorage.
96SampleApplication:"WelcomeBack"96DeployingandUpdatingSilverlightApplications.
101ProxyCache.
101UsingtheCache-ControlHTTPHeader.
102ManagingDifferentVersionsoftheSameContent.
103WebServerCache103WindowsKernelCache.
104IIS7OutputCaching.
109ASP.
NETOutputCaching110ASP.
NETObjectCaching.
117SQLServerCaching.
122DistributedCaching123CacheExpirationTimes124DynamicContent124StaticContent.
124Summary125Chapter4:IIS7.
127ApplicationPoolsandWebGardens.
127Request-ProcessingPipeline.
130WindowsSystemResourceManager131CommonHTTPIssues.
134HTTPRedirects.
135HTTPHeaders.
136Compression.
139EnablingCompression.
140SettingCompressionOptions141CONTENTSviiiUsingweb.
configtoConfigureCompression.
142CachingCompressedContent143ProgrammaticallyEnablingCompression.
144HTTPKeep-Alives144OptimizingYourURLs144VirtualDirectories.
145URLRewriting.
146ManagingTraffic.
150Usingrobots.
txt150SiteMaps.
151BandwidthThrottling.
152FailedRequestTracing.
154MiscellaneousIISPerformanceTuning159Summary159Chapter5:ASP.
NETThreadsandSessions.
161ThreadsAffectScalability.
161ASP.
NETPageLifeCycle163ApplicationThreadPool.
165SynchronousPage.
165AsynchronousPage.
166LoadTest.
167ImprovingtheScalabilityofExistingSynchronousPages.
170ExecutingMultipleAsyncTasksfromaSinglePage.
170HandlingTimeouts.
172AsynchronousWebServices173AsynchronousFileI/O.
176AsynchronousWebRequests178CONTENTSixBackgroundWorkerThreads.
179BackgroundThreadforLogging.
181TaskSerialization186LockingGuidelinesandUsingReaderWriterLock.
186SessionState.
187SessionIDs.
188InProcMode.
189UsingStateServer.
189UsingSQLServer.
189SelectivelyEnablingSessionStateandUsingReadOnlyMode.
190ScalingSessionStateSupport191Fine-Tuning197Full-CustomSessionState197SessionSerialization198AlternativestoSessionState.
199Summary199Chapter6:UsingASP.
NETtoImplementandManageOptimizationTechniques201MasterPages.
201UserControls204Example.
205RegisteringandUsingtheControl.
207PlacingControlsinaDLL.
207Themes.
208StaticFiles.
208Skins.
208CONTENTSxSettingThemesDynamically.
208ThemableProperties210Example.
210PrecachingThemedImages.
211Browser-SpecificCode.
212UsingRequest.
Browser213Browser-SpecificPropertyPrefixes.
214CachingBrowser-SpecificPages215ControlAdapters.
216BrowserProviders.
218Cloaking.
220DynamicallyGeneratingJavaScriptandCSS220Example.
221AccessingASP.
NETControlsfromJavaScript.
222MultipleDomainsforStaticFiles.
223ImageResizing224Summary227Chapter7:ManagingASP.
NETApplicationPolicies229CustomHttpModules230RequirementsfortheExampleHttpModule.
230Init()Method231PreRequestHandlerExecuteEventHandler.
232BeginAuthenticateRequestEventHandler.
233EndAuthenticateRequestEventHandler.
235EndRequestEventHandler236DatabaseTableandStoredProcedure.
237RegisteringtheHttpModuleinweb.
config238CONTENTSxiCustomHttpHandlers.
238BeginningtheRequest239EndingtheRequest240PageBaseClass241PageAdapters242Example:PageStatePersister242PageAdapterClass.
244RegisteringthePageAdapter.
244URLRewriting.
244RewritingURLsfromanHttpModule245ModifyingFormstoUseRewrittenURLs.
246TagTransforms.
247ControlAdaptersRevisited247Redirects.
249ConventionalRedirects.
249PermanentRedirects.
249UsingServer.
Transfer(250EarlyResponseFlush.
250Markup251Code-Behind.
251PacketTrace.
252ChunkedEncoding.
254Summary.
255WhitespaceFiltering.
255OtherWaystoAvoidUnnecessaryWork.
257CheckPage.
IsPostBack.
257IdentifyaPageRefresh258CONTENTSxiiAvoidRedirectsAfteraPostback258CheckResponse.
IsClientConnected258DisableDebugMode.
259BatchCompilation260Summary260Chapter8:SQLServerRelationalDatabase.
263HowSQLServerManagesMemory264MemoryOrganization264ReadsandWrites.
264PerformanceImpact.
265StoredProcedures.
266CommandBatching267UsingSqlDataAdapter.
267BuildingParameterizedCommandStrings.
271Transactions.
273UsingTransactionScope.
273MultipleResultSets.
279UsingSqlDataReader.
NextResult(279UsingSqlDataAdapterandaDataSet281DataPrecaching281Approach282PrecachingForms-BasedData.
282PrecachingPage-at-a-TimeData.
283DataAccessLayer283QueryandSchemaOptimization285ClusteredandNonclusteredIndexes.
285MiscellaneousQueryOptimizationGuidelines.
294CONTENTSxiiiDataPaging295CommonTableExpressions295DetailedExampleofDataPaging296ObjectRelationalModels.
303XMLColumns.
304XMLSchema.
305CreatingtheExampleTable.
306BasicXMLQueries.
307ModifyingtheXMLData307XMLIndexes308MiscellaneousXMLQueryTips.
309DataPartitioning.
310PartitionFunction310PartitionScheme.
311GeneratingTestData.
311AddinganIndexandConfiguringLockEscalation.
314ArchivingOldData.
315Summary.
316Full-TextSearch316CreatingtheFull-TextCatalogandIndex316Full-TextQueries317ObtainingSearchRankDetails.
318Full-TextSearchSyntaxSummary.
318ServiceBroker319EnablingandConfiguringServiceBroker.
320StoredProceduretoSendMessages321StoredProceduretoReceiveMessages.
322TestingtheExample.
323AvoidingPoisonedMessages.
323CONTENTSxivSendingE-mailviaServiceBroker323CreatingaBackgroundWorkerThread324ReadingandProcessingMessages.
325WebFormtoQueueaMessagetoSendanE-mail328Results.
330DataChangeNotifications331QueryRestrictions331Example:ASimpleConfigurationSystem333ResourceGovernor336Configuration.
336Testing.
339ScalingUpvs.
ScalingOut.
340ScalingUp340ScalingOut341IdentifyingSystemBottlenecks.
343HighAvailability.
344MiscellaneousPerformanceTips.
345Summary346Chapter9:SQLServerAnalysisServices349AnalysisServicesOverview.
350ExampleMDDB351RDBMSSchema.
351DataSourceView353Cube357TimeDimension.
357ItemsandUsersDimensions.
360CalculatedMember360DeployandTest.
361CONTENTSxvExampleMDXQueries362ADOMD.
NET369ExamplewithaSingle-CellResult.
370DisplayingaMultiple-RowResultUsingaGridView.
372UpdatingYourCubewithSSIS.
374ProactiveCaching.
377DataStorageOptions.
377CachingModes.
378UsingaStagingDatabase.
381Summary384Chapter10:InfrastructureandOperations.
385Instrumentation385CapacityPlanning.
390DiskSubsystems390Randomvs.
SequentialI/OsperSecond391NTFSFragmentation.
392DiskPartitionDesign394RAIDOptions.
395StorageArrayNetworks398ControllerCache.
398SolidStateDisks.
399NetworkDesign400JumboFrames.
400LinkAggregation401FirewallsandRouters.
402WindowsFirewallandAntivirusSoftware.
403UsingYourRouterasanAlternativetoaHardwareFirewall.
403LoadBalancers.
403CONTENTSxviDNS.
404StagingEnvironments.
405Deployment.
406DataTierUpgrades.
406ImprovingDeploymentSpeed407PageCompilation.
407CacheWarm-Up.
408ServerMonitoring.
408Summary410Chapter11:PuttingItAllTogether.
411WheretoStart.
412DevelopmentProcess.
413Organization413ProjectPhasesandMilestones.
414Coding415Testing.
415BugTracking415UserFeedback.
416TheUltra-fastSpin.
416League.
418Tools419Architecture.
420Checklists422PrinciplesandMethod(Chapter1)422ClientPerformance(Chapter2)422Caching(Chapter3)425IIS7(Chapter5)426ASP.
NETThreadsandSessions(Chapter5)427CONTENTSxviiUsingASP.
NETtoImplementandManageOptimizationTechniques(Chapter6)428ManagingASP.
NETApplicationPolicies(Chapter7)429SQLServerRelationalDatabase(Chapter8)430SQLServerAnalysisServices(Chapter9)432InfrastructureandOperations(Chapter10)432Summary434Glossary.
435BusinessIntelligenceTerminology.
435Index.
439CONTENTSxviiiAbouttheAuthorAftergraduatingfromUCSantaBarbarawithaBAinMathematicsin1979,IwenttoworkattheRandCorporation,whereIcontinuedmyinvolvementwithUnix,C,andtheInternet.
Duringthe1980s,ImovedtoSiliconValley,whereIspecializedinlow-leveloperatingsystemswork,performancetuning,andnetwork-orientedapplications.
IwroteaUnix-likeOSfromscratch,includingahigh-performancefilesystem.
IdevelopedanXNS-basednetworkstackandhelpedarchitectIntel'sfirstportofUnixtothex86.
Ialsowroteseveral3-Dscientificanimationsystemsandagatearrayplacementpackage.
Intheearly1990s,Iwroteacustomreal-timeOSthatwasusedintheUSNavy'sF-18aircraft.
Idevelopedreal-timeapplicationsthatwereusedinspacecraftandassociatedgroundsupportsystems,includingasystemcalledtheStellarCompassthatmeasuresvehicleattitudeusingdigitalimagesofstars.
ThatsoftwarehasflowntotheMoon,toMarsthreetimes,andtoacometandback.
Iwasalsotheprincipalarchitectanddesignerofthegroundsystemandvariousflightsoftwarecomponentsforoneoftheworld'sfirstcommercialimagingsatellites.
IwasveryenthusiasticaboutJavawhenIfirstheardaboutit.
Oneofthefirstlarge-scalethingsIdevelopedwithitwasanaudioconferencingsystem.
Afterthat,Iusedittodevelopacustomhigh-performanceapplicationserver.
Ihelpedtoarchitectandbuildseverallarge-scaleJava-baseddata-intensivewebsitesandwebapplications,includingonethatwasdesignedtobedeployedtoandusedby20millionset-topboxestoprovideInternetoverTV.
MylastJava-basedprojectwasbuildingadocument-management-orientedfilesystem;Iamtheprimaryinventorofseveralrelatedpatents.
Multiplefinancialinstitutionsarenowusingthesystemtohelpaddressrisk-managementissues.
IwenttoworkforMicrosoftinlate1999.
MyfirstprojecttherewastodevelopacomprehensivearchitecturetodeliverMSNcontentviaTV-orientedmiddlewareplatformssuchasWebTVusingC#,ASP.
NET,andSQLServer.
Afewyearslater,aftercompletingdevelopmentoftheinitialsystem,ImovedtotheMicrosoftTechnologyCenter,whereIbeganworkingwithandadvisingsomeofMicrosoft'slargestcustomersregardingthe.
NET-andSQLServer—orientedaspectsoftheirsystemarchitectures.
Thecommonthreadsthatbindmycareertogetherincludeafocusonperformanceandreliability.
Thesoftwaredevelopmentprocessisanotherlong-timeinterestofmine,becauseI'veseenfirst-handhowmuchofanimpactitcanhaveonthesuccessorfailureofaproject.
InDecember2006,myfamilyandIlefttheintensityofSiliconValleyandmovedtobeautifulNewZealand,wherewecurrentlylive.
Myhobbiesincludehamradio(callsignZL2HAM)andphotography.
CONTENTSxixAbouttheTechnicalReviewerSimonTaylorisHeadofEngineeringatTriggerSoftwareinCheltenham,UKwhereheisinvolvedinprojectsthatmakeuseoftechnologiesincludingJava,Flexandhismainpassion.
Net.
SimonstartedprofessionallifeasaCdeveloperonUnixplatformsaftergraduatingfromtheUniversityofManchesterwithaBScinComputerScience.
FromthereSimonmovedontodevelopingwithJavaandfinally.
Net4yearsago.
Thisyearhehasbecomemoreactiveinthe.
Netcommunityregularlyattendinglocalusergroupmeetingsandsettingupablogathttp://www.
sharpcoder.
co.
uk.
INTRODUCTIONxxIntroductionThetimethatIspentworkingatMicrosoftwasanunexpectedlytransformingexperience.
ThefirsthalfofmycareerregularlyputmeandthecompaniesIworkedwithincompetitionwithMicrosoft,andIwasoftensurroundedbyanti-Microsoftstoriesandpropaganda.
However,whenIheardabout.
NET,IdecidedIwantedtoknowmoreandthatthebestwaytodothatwastolearnatthesource.
AsIgotintothetechnologyandthecompany,whatIfoundwasmorethanalittlesurprising.
The.
NETFramework,theC#language,ASP.
NET,andSQLServeraresophisticatedandtechnicallybeautifulachievements.
AfterworkingwithJavaforseveralyears,whichalsohasadefiniteelegance,itwasrefreshingandempoweringtouseawell-integratedplatform,whereeverything(mostly)workedtogetherseamlessly.
Atatechnicallevel,IfoundthatIusuallyagreedwiththedecisionsandtradeoffstheplatformdevelopersmade,andthattheresultingsystemhelpedtosubstantiallyimprovemyproductivityasadeveloper.
IalsofoundtheMicrosoftengineeringteamstobewonderfullybright,creative,and–perhapsmostsurprisingofalltomeasaformeroutsider–sincerelyinterestedinsolvingcustomerproblems.
Myenthusiasmforthetechnologyhelpedcarrymeintoacustomer-facingpositionasasolutionsarchitectattheMicrosoftTechnologyCenterinSiliconValley.
Beingexposedin-depthtocustomerissueswasanothereye-openingexperience.
First,IcouldseefirsthandtheremarkablypositiveimpactofMicrosofttechnologiesonmanypeopleandcompanies.
Second,Icouldalsoseetheintensefrustrationandpoorresultsthatsomepeoplewerehaving.
Thisbookis,inpart,aresponsetosomeofthosefrustrations.
MyperspectiveisthatASP.
NETandSQLServerhavetremendouspotential.
However,keyaspectsofthetechnologiesarenotobvious.
I'vetalkedwithmanydevelopersandmanagerswhosensethepotentialbutwhohavehadextremedifficultywhenitcomestotheimplementation.
Unfortunately,realizingthetechnology'sfullpotentialrequiresmoreup-fronteffortthansomealternativeapproaches;it'sarichenvironment,andtoappreciateitfullyrequiresacertainperspective.
Oneofmygoalsforthisbookistohelpremovesomeofthefogthatmaybemaskingtheend-to-endvisionofthetechnologyandtohelpyouseethebeautyandthefullpotentialofASP.
NETandSQLServer.
AnotherreasonIwrotethisbookisthatIamfrustratedconstantlybyhowslowsomesitesare,andI'mhopingyouwillbeabletousetheinformationheretohelpchangethat.
TheWebhasamazingpossibilities,wellbeyondeventhefantasticlevelit'sreachedalready–buttheycanberealizedonlyifperformanceisgood.
Slowsitesareaturn-offforeveryone.
MyconnectiontotheInternettodayusesa3+MbpsDSLline,andeachofthefourcoresinmydesktopCPUrunsatnearly3GHz;that'sastonishinglyfastcomparedtowhatwaspossiblejustafewyearsago.
Evenwithallthatspeedandpower,manywebsitesstilltakealongtimetoload–sometimesaminuteormoreperpage–andmylocalnetworkandCPUarealmostidleduringthattime.
Assoftwareprofessionals,thatshouldconcernus.
Ifinditalmostembarrassing.
Iwanttobeproudofnotjustmyownworkbutalsoofmyprofession's.
Let'smakeoursitesnotjustfast,butultra-fast.
INTRODUCTIONxxiWhoThisBookIsForThefirsttwoandlasttwochaptersinthisbookprovideinformationthatwillbeusefultoallwebdevelopers,regardlessofwhichunderlyingtechnologyyouuse.
Themiddlesevenchapterswillinterestintermediatetoadvancedarchitectsanddeveloperswhoaredesigning,buildingormaintainingwebsitesusingASP.
NETandSQLServer.
ExperiencedwebdeveloperswhohaverecentlymovedfromJavaorPHPto.
NETwillalsofindlotsofvaluableandinterestinginformationhere.
Thisbookwillbeusefulfornon-developerswhohaveatechnicalinterestinwhatmakesawebsitefast.
Inparticular,ifyou'reinvolvedwithwebsiteoperations,testing,ormanagement,youwilldiscovermanyoftheprincipalsandissuesthatyourdevelopmentteamsshouldbeaddressing,alongwithdemonstrationsthathelpdrivethepointshome.
ContactingtheAuthorYoucanreachmeatrick@12titans.
net.
Pleasevisitmywebsiteathttp://www.
12titans.
net/.
Iwouldlovetohearaboutyourexperienceswiththeultra-fastapproach.
Techniquestoimproveperformanceandscalabilityareconstantlyevolving,alongwiththeunderlyingtechnology.
IamveryinterestedinhearingaboutanytechniquesIhaven'tcoveredherethatyoufindtobeeffective.
Pleaseletmeknowifyoufindanyerrorsinthetextorthecodesamples,ortweaksthatcanmakethemevenbetter.
AcknowledgmentsIwouldliketothankthewonderfulteamatApress:EwanBuckinghamforhisearlysupportandencouragement;MatthewMoodieforhelpwiththeoverallstructureandflow;SimonTaylorfortechnicalreviews,includingdouble-checkingthecodesamples;AnitaCastroforprojectmanagement;andKimWimpsettandTiffanyTaylorforcopyediting.
IwouldalsoliketothankPhildeJouxforhisfeedback
Hostigger 主机商在前面的文章中也有介绍过几次,这个商家运营时间是有一些年份,只不过在我们圈内好像之前出现的次数不多。最近这段时间商家有提供不限流量的VPS主机,逐渐的慢慢被人认识到。在前面的介绍到他们提供的机房还是比较多的,比如土耳其、美国等。今天看到Hostigger 商家居然改动挺大的,原来蛮好的域名居然这次连带官方域名都更换掉去掉一个G(Hostiger )。估摸着这个域名也是之前...
最近发现一个比较怪异的事情,在访问和登录大部分国外主机商和域名商的时候都需要二次验证。常见的就是需要我们勾选判断是不是真人。以及比如在刚才要访问Namecheap检查前几天送给网友域名的账户域名是否转出的,再次登录网站的时候又需要人机验证。这里有看到"Attention Required"的提示。我们只能手工选择按钮,然后根据验证码进行选择合适的标记。这次我要选择的是船的标识,每次需要选择三个,一...
阿里云(aliyun)在这个月又推出了一个金秋上云季活动,到9月30日前,每天两场秒杀活动,包括轻量应用服务器、云服务器、云数据库、短信包、存储包、CDN流量包等等产品,其中Aliyun轻量云服务器最低60元/年起,还可以99元续费3次!活动针对新用户和没有购买过他们的产品的老用户均可参与,每人限购1件。关于阿里云不用多说了,国内首屈一指的云服务器商家,无论建站还是学习都是相当靠谱的。活动地址:h...
response.flush为你推荐
TableBasicAbnormallyStoppedServicesitunes支出127支持ipad支持ipadwindows键是哪个Windows快捷键是什么iexplore.exe应用程序错误iexplore.exe - 应用程序错误怎么办阿??????phpecho为什么在PHP中使用echo FALSE;什么也输出不了?应该如何输出FALSE?谢谢!360chrome360Chrome 世界之窗极速浏览器 ChromePlus苹果5.1.1越狱iphone5.1.1越狱老是越狱失败,说要抹掉数据,怎么抹掉数据不懂,接下来该怎么弄 求大神指教routeadd如何用route add添加本地路由表,使一个网段的机器能访问另一个网段局域网的机器。望高手指点。
免费申请域名 liquidweb cpanel主机 10t等于多少g 免费静态空间 免费ftp站点 免费mysql 已备案删除域名 php空间推荐 169邮箱 免费智能解析 免费phpmysql空间 卡巴斯基破解版 能外链的相册 七夕快乐英语 网页提速 新加坡空间 cdn网站加速 阿里云手机官网 腾讯数据库 更多