0

幾個月來,我一直在使用C#,SQL Server 2005,ADO.NET實體框架,JQuery和一些ESRI Web API和地理數據庫構建使用ASP.NET MVC構建Web站點的客戶站點。測試服務器運行IIS6 Windows Server 2003上在這段時間我已經看到了已經造成了大量的返工一些奇怪的事情:虛擬服務器是否與Windows Server 2003,IIS 6,ASP.NET MVC有區別?

  1. 客戶端服務器上的JavaScript文件將無法識別到腳本正常的相對路徑或URL:而不是用「/Reports.mvc/GridData」的URL建立的jqGrid我不得不將其初始化爲<%= RESOLVEURL(「〜/ Reports.mvc /的GridData」)%>在視圖中,或者捕獲在主頁的<頭>標籤應用程序的路徑:
 
    // Declare a variable to pass to jQuery functions that don't seem to 
    // handle URLs below the top-level pages on MVC in IIS6. 
    var _applicationPath = new String(''); 
    // Reset the variable after jQuery document loaded event to make sure 
    // every jQuery library and plugin sees the value. 
    jQuery(document).ready(function() { 
     _applicationPath = new String(''); 
    }); 
  • 我測試了將新數據發佈到數據庫以及編輯數據的窗體和函數。在兩臺開發機器和服務器上,我能夠證明一切正常。然而,每次他們測試時,客戶都回來說這個領域或那個領域沒有保存,或者「顯得有趣」。
  • 此時,用戶的帳戶僅用於登錄到網絡。我的實體框架代碼位於數據DLL中,並通過單個應用程序用戶登錄與數據庫一起工作。所以不應該有任何權限或安全問題。

    當有人登錄中的代碼不會改變,觀點不改變,而數據庫甚至不知道誰登錄到該網站。所以我不得不一次又一次地回到代碼中,只是嘗試更加防守的編程。但是我前一段時間已經意識到沒有什麼可以做的了。

    昨天的顧客告訴我,我一直在使用他們的網絡上的服務器是虛擬服務器。這是在一個學術環境中,服務器在別的部門的控制下的另一個建築物中。

    當第一個工作日該測試服務器上,我能夠創建一個ASP.NET網站,但大部分數據控件防止加載頁面,並在ASP.NET中的其他組件將不會在開發系統上運行。這就是爲什麼我切換到ASP.NET MVC。

    我們已經移動到物理測試服務器我還沒有與虛擬服務器工作過。有沒有人有任何古怪的經驗與ASP.NET或任何其他事情的虛擬服務器工作?

    回答

    1

    我不信任 虛擬服務器 託管市場上可用的許多可用虛擬服務器(尤其是低資源虛擬服務器,資源過於有限,承諾「靈活」的額外資源),因此無法託管公共網站,因爲資源的靈活分配通常不適用於高峯流量,有時會導致崩潰和不穩定。您所描述的內容可能來自配備有限資源的虛擬服務器,或者運行在不穩定或負載過重的環境中。但是,它也可能取決於機器的設置方式以及Web服務器的配置方式。 (我認爲1中的路徑問題肯定是一個配置問題。)

    您可以嘗試詢問運行該事情的人在一段時間內增加資源(處理器時間,RAM,網絡流量)並查看是否它會變得更好。如果確實如此,您必須查看增加的數據是否可以永久化,或者使用專用服務器。

    +0

    感謝您的回覆。我們正在轉向專用服務器,但IT部門現在沒有反應(可能由於工作量和人員削減),但客戶要求我對此進行一些研究。你提到的配置給了我一些繼續。 – 2010-01-24 23:04:12

    +1

    對不起Pekka,由於對虛擬化環境的主觀評論而不得不投票。配置不當並且調整好的'物理'服務器同樣可能會導致令人頭痛的配置虛擬環境。我在一家網絡託管公司工作,我們在一個7節點的Xen平臺上運行〜60-70個虛擬機,與物理服務器相比,我們的問題少得多。與在物理服務器上運行相比,我們還發現可靠性和靈活性有所提高。如果做得對,那就不應該有問題。 – Kev 2010-01-25 14:11:46

    +1

    @Kev,我同意我應該更清楚地說明所描述的問題不是虛擬化的固有特性;儘管如此,我已經與各種提供商建立了許多(低成本)虛擬服務器,並且他們往往反應不佳,特別是對於峯值負載,我懷疑是因爲靈活的資源分配(保證RAM X數量<>動態分配RAM y低成本供應商使用的金額)。無論如何,感謝您爲投票添加評論,並且我認爲我們已經涵蓋雙方:)總的來說,我認爲虛擬化是一項巨大的技術進步。 – 2010-01-25 14:41:20

    相關問題