這篇文章主要介紹ASP.NET網站發(fā)布時會遇到什么問題,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
成都創(chuàng)新互聯(lián)成立10年來,這條路我們正越走越好,積累了技術與客戶資源,形成了良好的口碑。為客戶提供成都網站建設、成都網站制作、網站策劃、網頁設計、空間域名、網絡營銷、VI設計、網站改版、漏洞修補等服務。網站是否美觀、功能強大、用戶體驗好、性價比高、打開快等等,這些對于網站建設都非常重要,成都創(chuàng)新互聯(lián)通過對建站技術性的掌握、對創(chuàng)意設計的研究為客戶提供一站式互聯(lián)網解決方案,攜手廣大客戶,共同發(fā)展進步。
開發(fā)工具:VS2010,MVC4.0,SQLSERVER2008
服務器:Windows server 2012,IIS8,SQLSERVER2012
一、發(fā)布后,每個頁面第一次打開都很卡,50秒或更長,第二次打開就很快了
估計原因:編譯速度慢,但在有VS環(huán)境的機器上發(fā)布沒有這么卡
解決辦法:
使用高版本的VS,“在發(fā)布期間預編譯”; 使用IIS8的Application Initialization功能 1. 使用VS2017“在發(fā)布期間預編譯”
發(fā)布時遇到一個報錯:
在應用程序級別之外使用注冊為 allowDefinition='MachineToApplication' 的節(jié)是錯誤的。如果在 IIS 中沒有將虛擬目錄配置為應用程序,則可能導致此錯誤。
解決辦法:發(fā)布時注釋web.config中的以下代碼
2. 使用IIS8的Application Initialization功能
ASP.NET網站第一次訪問慢的解決方法
二、ASP.NET session 頻繁丟失問題
問題現(xiàn)象:登錄后30秒左右會話丟失,需要重新登錄。
解決辦法:ASP.NET有幾種會話狀態(tài)模式,默認為“InProc模式”,改為“StateServer模式”,問題解除。
1. off模式
即關閉Session。
全站關閉Session可在Web.Config文件中的
要在某個頁面上關閉Session,可在頁面上添加:
<%@ Page EnableSessionState="false" %>
2. InProc模式(缺省模式)
如果未在Web.config文件中配置SessionState Mode,默認即是InProc模式。
如果要定制InProc模式的參數(shù),需要寫入Web.config文件,例如:
cookieless設置是否允許不使用Cookie,timeout設置超時時間,單位為分鐘。
InProc模式依賴于 ASP.NET進程, 當IIS進程崩潰或者重啟時,保存在進程中的會話狀態(tài)會丟失。
3. StateServer模式
StateServer模式是將會話數(shù)據(jù)存儲到單獨的內存緩沖區(qū)中,由一個Windows服務“ASP.NET State Service ”(需要在windows服務中開啟)來控制這個緩沖區(qū),需要設置stateConnectionString:
使用StateServer模式時,所有需要保存在Session中的類,都要加上可序列化的特性:
[Serializable]
public class SomeClass { }
StateServer模式的優(yōu)點是獨立于IIS進程,IIS應用程序的重啟不影響會話數(shù)據(jù)。
4. SQLServer模式
使用SQL Server來保存Session,即使IIS重啟,Session仍然不會丟失。需要先創(chuàng)建ASPState數(shù)據(jù)庫。具體方法可在網上查詢。
以上是ASP.NET網站發(fā)布時會遇到什么問題的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!