Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
asp.net应用程序是如何工作的?_Asp.net_Iis - Fatal编程技术网

asp.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的文件夹中创建所需的文件 此文件

我对.NET开发还很陌生,我只是想知道它是如何工作的

我下面提到的几点是:

  • 在开发ASP.NET应用程序时,在该项目下,我们有如下文件:
    • pagename.aspx
    • pagename.aspx.cs
    • pagename.asp.desiger.cs
  • 在将某些功能添加到
    pagename.aspx
    page之后,假设我拥有开发所需的web应用程序(这不是我的问题,开发的是什么)
  • 现在我要部署这个应用程序,我使用web部署MSI,它在一个名为
    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如何响应用户对页面的请求。阅读更多信息。感谢链接,让我检查一下,我会给你回复。