2011-12-01 80 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