2009-01-13 67 views
0

我正在尋找將經典ASP網站轉換爲ASP.NET。我正在考慮採用敏捷風格的方法並儘快提供可交付成果,因此我正在考慮逐行轉換並創建「糟糕的」ASP.NET,並將其全部放在第一階段的ASPX文件中,並獲得加工。我認爲,這將是最快和最安全的(即保留相同的功能)。下一個階段是將代碼分解爲代碼隱藏和多層。ASP到ASP.NET幫助函數

我打算在ASPX文件中用C#替換ASP文件中的VBScript。

因此,除了關於我在做什麼的一般性評論(我歡迎),我的具體問題是:是否有任何幫助函數將VBScript函數從ASP包裝到C#等價於某人已經完成了?

所以我會尋找有像包裝一個C#文件(庫):

string Mid(string txt,int start,int length) 
{ 
    return txt.SubString(start, length); // or is it start - 1? 
} 
double Abs(double num) 
{ 
    return Math.Abs(num); 
} 

回答

0

如果使用ASP.NET MVC是一個選擇,我會看看那個第一。我認爲這會比試圖從腳本語言到WebForms更容易。

5

查看Microsoft.VisualBasic命名空間以訪問舊的VBScript/VB6函數。你可以直接在C#中使用它們。

此外,你在休克。 ASP.Net使用不同的編譯器模型,因此您在ASP中使用的一些內容在ASP.Net中完全不允許。包含文件是大家想到的 - 所有支持代碼(代碼頁* * .asp文件之外的代碼)必須被重新考慮支持新模型。

2

我不認爲一行一行的方法是一個好主意 - 你最終會得到一堆不好的代碼,你仍然需要重構。這對我來說聽起來並不敏捷。

我想嘗試將網站邏輯分解成模塊,然後嘗試將特定頁面或模塊重寫爲ASPX。例如,如果該網站有一個管理員部分,也許你可以重寫管理員部分。然後重複下一節。這可以迭代地完成每個部分,直到完成。

1

我同意Jason的意見,並且希望指出一個更高級別的問題,如果您還沒有考慮過,那麼您必須解決這個問題。

您的傳統ASP網站是否利用會話變量來管理頁面之間的狀態?如果是這樣,你有沒有想過如何在ASP和ASP.NET之間共享會話狀態?傳統的ASP和ASP.NET以不同的方式實現會話狀態,因此您需要在兩者之間進行傳輸的方法。

較小的應用程序可能更容易「轉換」,但是如果您有大型應用程序大量使用會話變量,則可能需要考慮其他選項。

0

我不認爲你通過在.Net中重做網站來獲得任何東西。正確地實施它將與你在.Net中開始的那種完全不同,它看起來像是浪費精力。此外,如果您在.aspx頁面中實現所有內容,甚至沒有代碼隱藏,編寫單元測試將非常困難。

我會瞄準MVC轉換。如果您確實按原樣移植它,至少要查看母版頁,這應該可以爲您節省一些麻煩。