2011-12-01 77 views
3

我對.NET開發很新,我只是想知道它是如何工作的?asp.net應用程序如何工作?

我的下述要點是:

  1. 在開發ASP.NET應用程序,在該項目下,我們有這樣的文件:
    • pagename.aspx
    • pagename.aspx.cs
    • 頁面名。 asp.desiger.cs
  2. pagename.aspx頁面添加某些功能後,假設我有開發所需的Web應用程序(這不是我的擔心,開發什麼)
  3. 現在我要部署此應用程序,我使用web部署MSI在一個名爲folderdelopyed的文件夾中創建所需文件。
  4. 此文件夾包含支持此應用程序所需的文件,但有趣的不包含pagename.aspx.cspagename.aspx.designer.cs文件。

我的問題是,如果folderdelopyed不含.cs文件,那麼它是如何工作的運行,我已經寫在這個文件稱爲PageName.aspx.cs的代碼段?

+1

請不要使用大寫鎖定。這是喊。 –

+0

@Valamas:好吧,我明白了。接下來它不會發生 – AnandMohanAwasthi

回答

4

你的cs文件中的代碼被編譯成一個dll。

對於Web應用程序項目,這是一個DLL

對於網站項目,這是每頁一個dll。

所有的代碼現在在dll的網站的bin文件夾中。

您可以使用像ILSpy(http://wiki.sharpdevelop.net/ILSpy.ashx)這樣的工具來查看dll的內部並查看您的代碼。

在過去,對於傳統的ASP,腳本曾經被嵌入到您的頁面中 - 代碼和HTML的混合,並且在運行時被解釋。

我喜歡新的方式更:-)

+0

好的,如果類文件符合dll文件,讓我們說用戶生成請求到web應用程序發生了什麼然後 – AnandMohanAwasthi

+0

您正在詢問HTTP管道以及IIS如何響應用戶對頁面的請求。請閱讀http://www.west-wind.com/presentations/howaspnetworks/howaspnetworks.asp瞭解更多信息。 – dash

+0

感謝您的聯繫,讓我檢查,我會回到你身邊。 – AnandMohanAwasthi

2

ASP.NET代碼被編譯成動態鏈接庫文件,也被稱爲DLL文件。

你在後面的代碼,這與.cs擴展名的文件中編寫的代碼,編譯並投入全新的文件,用.dll擴展 - 這文件複製到服務器,到BIN您的網站的文件夾。

根據您選擇的項目類型,可以爲Web應用程序提供多個DLL文件,並在每個構建中進行更改 - 有關更多詳細信息,請參閱dash's answer

在每一個.aspx頁面上,您都可以參考第一行所使用的DLL文件。例如:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="pagename.aspx.cs" Inherits="MyNameSpace.pagename" %> 

在這個例子中,繼承部分確定哪些DLL使用。怎麼樣?通過命名空間,這也是DLL文件的名稱。

當上述.aspx通過瀏覽器請求時,.NET引擎必去的BIN文件夾,查找MyNameSpace.dll,並在那裏找到名爲pagename類從基繼承Page類 - 所有的休息是典型的生命循環的ASP.NET頁面。

0

讓我說你更驚人的東西。

你可以隱藏你的aspx文件too.and將他們的內容放入dll中,就像放入dll中的cs文件一樣。

可以使ķASPX,僅僅包含一個地址DDL文件並沒有HTML正文:d

這是馬麗娟!不僅可以隱藏你的cs文件,還可以隱藏你的aspx文件:D