asp.net – IIS如何知道它是服务于一个网站还是一个Web应用程序项目?
|
我了解网站项目即时编译源代码,Web应用程序项目将源代码编译成DLL(非常像ASP.Net 1.x). 但是如何在IIS中指定差异? 我知道Visual Studio知道 – 每个都有不同的项目,但是运行的实例(IIS框架)必须知道正在使用哪个编译模型,对吗?因为它是否知道是否即时编译? 一个请求进来,点击一个ASPX文件…以及该进程如何知道相关的CS文件是否需要编译(网站),或者是否在部署前已经完成(Web Application)? 我只是好奇指出这个差异.在web.config的某个地方? 解决方法这些项目类型中的.aspx文件有一个微妙的区别.如果你看一个网站项目,你应该看到这样的东西… <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> … Web应用程序项目将具有这样的.aspx文件… <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication2._Default" %> 请注意,第一个具有CodeFile属性,第二个具有CodeBehind属性.这是区分的地方. CodeBehind属性不会在运行时使用 – 它可以告诉VS.NET代码所在的位置,Inherits属性告诉运行时在二进制文件中要搜索哪个类. CodeFile属性在运行时使用,由aspnet_compiler.exe用于生成代码,然后使用Inherits属性. 有关这些属性的更多信息,请看这里… http://msdn.microsoft.com/en-us/library/ydy4x04a.aspx 但是要回答你的问题“IIS如何知道?答案是“它不”. ASP.NET知道. 您可以通过执行以下操作来证明是这样的: >创建一个新的Web应用程序.这将包括一个Default.aspx和一个Default.aspx.cs. protected void Page_Load(object sender,EventArgs e)
{
Response.Write("hello");
}
>编译项目,运行它,看看 protected void Page_Load(object sender,EventArgs e)
{
Response.Write("goodbye");
}
>不要配合刷新浏览器您仍然会看到“hello”,因为编译代码仍然使用此字符串.>现在,将Default.aspx中的属性从CodeBehind更改为CodeFile.保存此文件.>刷新浏览器.你会看到“再见”显示.>在你的代码中改变“再见”到“我相信!”.保存.aspx.cs但不编译.>刷新浏览器,看“我相信!”,在房间里跳舞,启发:-) (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 对Json解决方法的EntityFramework? (序列化
- asp.net – 在.net 3.5 SP1中设置表单的操作会在编译时导致
- asp.net – 如何防止CPU占用100%,因为iis中的工作进程
- asp.net-mvc – 如何检查用户是否在Action中被授权
- asp.net – System.Web.Security.AntiXss.AntiXssEncoder与
- 如何关闭ASP.NET必需的字段验证器“丢失焦点”行为
- asp.net – 如何在.net vb中发送POST?
- ASP.net MVC中的自定义表单身份验证/授权方案
- 在HiddenField asp.net中存储一个字符串数组
- asp.net-mvc – Web API – 默认呈现Razor视图?
- asp.net-mvc – 修改后ASP.NET包缓存不清除
- 可以在ASP.NET用户控件中使用void async方法吗?
- asp.net – Ajax Tookit TabPanel Invisible Tag
- asp.net-mvc – FluentValidation Autofac Valid
- asp.net – 如何在IIS 7.5中配置应用程序池在停止
- asp.net – 将字符串传递到MVC4中的部分视图
- 使用ASP.NET MVC进行Windows身份验证
- asp.net-mvc – ValidationMessage – 处理同一属
- asp.net – 将machineKey添加到machine.config
- 如何阻止ASP.NET Menu控件生成内联html样式元素
