asp.net应用程序是如何工作的?
我对.NET开发还很陌生,我只是想知道它是如何工作的 我下面提到的几点是:asp.net应用程序是如何工作的?,asp.net,iis,Asp.net,Iis,我对.NET开发还很陌生,我只是想知道它是如何工作的 我下面提到的几点是: 在开发ASP.NET应用程序时,在该项目下,我们有如下文件: pagename.aspx pagename.aspx.cs pagename.asp.desiger.cs 在将某些功能添加到pagename.aspxpage之后,假设我拥有开发所需的web应用程序(这不是我的问题,开发的是什么) 现在我要部署这个应用程序,我使用web部署MSI,它在一个名为folderdelopyed的文件夹中创建所需的文件 此文件
- pagename.aspx
- pagename.aspx.cs
- pagename.asp.desiger.cs
pagename.aspx
page之后,假设我拥有开发所需的web应用程序(这不是我的问题,开发的是什么)folderdelopyed
的文件夹中创建所需的文件pagename.aspx.cs
和pagename.aspx.designer.cs
文件我的问题是如果
folderdelopyed
不包含.cs
文件,那么如何运行我在这个名为PageName.aspx.cs
的文件中编写的代码段?您的cs文件中的代码被编译成dll
对于Web应用程序项目,这是一个dll
对于网站项目,这是每个页面的dll
所有代码现在都位于网站bin文件夹中的dll中
您可以使用ILSpy之类的工具(http://wiki.sharpdevelop.net/ILSpy.ashx)查看dll的内部并查看您的代码
在过去,对于经典ASP,脚本通常被嵌入到页面中——混合了代码和HTML,并在运行时进行解释
我更喜欢这种新方法:-)ASP.NET代码被编译成动态链接库文件,也称为DLL文件 您在代码隐藏中编写的代码,即扩展名为
.cs
的文件,被编译并放入扩展名为.dll
的全新文件中,并且该文件被复制到服务器上,并被复制到站点的BIN文件夹中
根据您选择的项目类型,web应用程序可能有多个DLL文件,在每个构建中都会更改-有关更多详细信息,请参阅
在每个.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页面的典型生命周期。让我告诉您一些更令人惊奇的事情
您也可以隐藏您的aspx文件。并将它们的内容放入dll,就像您的cs文件放入dll一样
您可以创建只包含ddl文件地址而不包含html正文的k aspx:D
太棒了!!!您不仅可以隐藏cs文件,还可以隐藏aspx文件:D请不要使用大写锁定。瓦拉玛斯:好的,我明白了。接下来,如果类文件符合dll文件,则不会发生这种情况,让我们假设用户生成对web应用程序的请求发生了什么,然后您会询问HTTP管道以及IIS如何响应用户对页面的请求。阅读更多信息。感谢链接,让我检查一下,我会给你回复。