aspnet传值方式(为什么aspnet页面要编译两次)
本文目录
- 为什么aspnet页面要编译两次
- aspnet_client 的作用以及存储位置
- 求助extAspNet 下后台调用脚本方法
- ASPNET MVC5+EF6连接Oracle数据库有哪些方式
- 关于ASPnet问题
- 如何解密下面的字符串 它是什么加密方式
为什么aspnet页面要编译两次
ASP.NET 页面编译两次的原因是因为 ASP.NET 使用了一种称为“即时编译”(Just-In-Time Compilation,JIT)的技术来生成和执行代码。这种技术会在首次请求 ASP.NET 页面时进行编译,并将生成的代码保存在内存中。当再次请求该页面时,ASP.NET 会检查代码是否已编译,如果已编译,则直接执行编译后的代码;如果未编译,则会重新进行编译。
具体来说,ASP.NET 页面包含两个阶段的编译:
在第一次请求页面时,ASP.NET 会将页面转换成 C# 或 VB.NET 代码,并将其编译成一个动态链接库(DLL)。
当再次请求该页面时,ASP.NET 会检查页面对应的 DLL 是否已经存在。如果已经存在,则直接加载该 DLL 并执行其中的代码;如果不存在,则重新编译页面并生成新的 DLL。
这种方式可以提高 ASP.NET 应用程序的性能,因为它避免了每次请求时都进行编译的开销。同时,它也允许在不停止应用程序的情况下更新代码,只需要重新编译页面即可。
aspnet_client 的作用以及存储位置
在虚拟主机的 wwwroot 目录下您会发现有一个名为 aspnet_client 的文件夹,该文件夹中含有集成了 ASP.NET 的“SmartNavigation”功能的 javascript。如果启用 SmartNavigation,网页设计人员就可以在页面以及其他内容之间保持滚动条和元素焦点的位置。 目录 aspnet_client 是虚拟根 Web 应用程序目录,该目录是当您安装 .NET Framework SDK 或 Visual Studio .NET 时在您的计算机上创建的。此文件不占用户空间,请用户在使用网站空间的时候不要删除该文件夹。 例如,随 ASP.NET 附带的脚本文件位于以下位置。 d:\home\ftp用户名/wwwroot/aspnet_client/system_web/《版本编号》/文件 如果安装有 SDK 的多个版本,您将在 aspnet_client/system_web 下看到多个子目录。因为控件库与脚本文件的特定版本相关联,所以部署模式允许控件库的不同版本并行运行。 出现了“aspnet_client”这个文件夹,是干什么的? 这个是文件的路径下还有文件!下面的完整路径: aspnet_client\system_web\1_1_4322 里面还有三个文件:SmartNav.htm,smartnav.js,webuivalidation.js! 作用是:安装了.net框架之后,就会在网站目录下出现这样的文件夹.用以支持.net环境.1_1_4322表示你的.net framework 的版本为 1.1.4322,里面的3个文件用于为.net验证控件提供脚本支持服务器里面装了.net后,会在服务器上每个网站的目录里面增加这个文件夹的 在生成虚拟站点的时候会自动在根下生成一个名字为aspnet_client的文件夹,你看看是不是这个文件夹没有了? 解决办法重新建一个独立站点,把生成的aspnet_client文件夹复制到这个站点的跟下。 首先确定你安装了iis 然后从命令行进入文件夹C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\ 盘符,系统文件夹,版本号可能不一样,看你自己的机子,版本号选择最高的那个文件夹 运行命令aspnet_regiis.exe -i 安装完毕即可使用vs打开 一点资料: aspnet_regiis命令详解. 用法: aspnet_regiis.exe -i-安装ASP.NET的此版本,并更新IIS元数据库根处的 脚本映射和根以下的所有 脚本映射。现有的低版本脚本映射 升级到此版本。 -ir-安装ASP.NET的此版本,仅注册。不 更新IIS中的脚本映射。 -enable-带-i或-ir指定-enable时,还将 在IIS安全控制台(IIS6.0或更高版本)中启用ASP.NET。 -s-在指定的路径以递归方式安装此版本 的脚本映射。现有的低版本脚本映射 升级到此版本。 例如aspnet_regiis.exe-sW3SVC/1/ROOT/SampleApp1 -sn-在指定的路径以非递归方式安装此版本的 脚本映射。现有的低版本脚本映射 升级到此版本。 -r-为IIS元数据库根位置的此版本 以及根以下的所有脚本映射安装脚本映射。不论当前版本是什么, 所有现有的脚本映射都 更改为此版本。 -u-卸载ASP.NET的此版本。到此版本的 现有脚本映射重新映射到此计算机上安装的 其余的最高ASP.NET版本。 -ua-卸载计算机上的所有ASP.NET版本 -k-从指定的路径中以递归方式移除到任何ASP.NET版本的所有 脚本映射。 例如aspnet_regiis.exe-kW3SVC/1/ROOT/SampleApp1 -kn-从指定的路径中以非递归方式移除到任何ASP.NET版本的所有 脚本映射。 -lv-列出计算机上安装的所有 ASP.NET版本(包括状态和安装路径)。 Status:Valid|Invalid -lk-列出包含ASP.NET脚本映射的所有IIS元数据库项的所有路径 (连同版本一起)。不显示从父项 继承ASP.NET脚本映射的项。 -c-将客户端脚本的此版本安装到 每个IIS站点目录的aspnet_client子目录中。 -e-从每个IIS站点目录的aspnet_client子目录中 移除客户端脚本的此版本。 -ea-从每个IIS站点目录的aspnet_client子目录中 移除客户端脚本的所有版本。 -?-打印此帮助文本。 example: 当系统新建一个asp.netweb应用程序的时候,提示错误信息如下: "VisualStudio.NET已检测到指定的Web服务器运行的不是ASP.NET版本,你将无法运行ASP.NET应用程序或服务。" 可以尝试运行 aspnet_regiis-i aspnet_regiis-r 两个命令来安装asp.net服务管理器. 如果还是不行的话,再尝试一下下面的操作: 1、先确定是不是1.1 2、把"IP地址"设成全部未分配 3、在IE连接设置中把本地地址不使用代理服务器那里打上勾
求助extAspNet 下后台调用脚本方法
Ext.NET开发小结页面头部一定要引入:《%@Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %》Body部分一定要添加《ext:ResourceManager ID="ResourceManagerID“ runat=”server” /》不然无法解析页面一、弹窗对话框(1)前台弹出对话框 Ext.Msg.alert("提示标题", "提示内容");(2)Ext.Msg.confirm("提示", "确定要XXXX吗?", function(result) {if (result == "yes") {//单击是按钮触发事件} else { //单击否按钮触发事件}});(3)后台弹出一般对话框X.Msg.Alert("提示", "请返回选择要绑定的用户").Show();//带有回调函数的提示,SetWindowOpen方法是客户端的js函数,程序会自动执行它,这个提示框不一定会显示出来,但是处理方式上很灵活,因为客户端的函数还可以写成再次回传到后台,自己把握X.Msg.Alert("提示", "内容", new JFunction { Fn = "SetWindowOpen()" }).Show();(4)后台的确认提示及回调函数处理(5)X.Msg.Confirm("提示", "内容?", new MessageBoxButtonsConfig{Yes = new MessageBoxButtonConfig{Handler = "mainpage.CreateModel()",Text = "是"},No = new MessageBoxButtonConfig{//Handler = "xxx 方法",Text = "否"}}).Show();这是后台的一个弹出确认框提示,针对每个按钮都可以在Handler上配置事件,主要,它的里面是个方法,这个方法可以带类名,比如public partial class mainpage{public void CreateModel(){//…..}}但一定要主要,因为需要回调后台方法,所有该方法必须有DirectMethod进行标记,不然不识别。
ASPNET MVC5+EF6连接Oracle数据库有哪些方式
一OracleClient方式,是微软专门针对Oracle数据库开发的引用类库:System.Data.OracleClient.dll命名空间:System.Data.OracleClient常用类:OracleConnection、OracleCommand、OracleDataAdapter、OracleTransaction、OracleDataReader等连接字符串:“data source=**;user id=**;password=**”(注意:可以不指定 provider 驱动)二OleDb方式引用类库:System.Data.dll命名空间:System.Data.OleDb常用类:OleDbConnection、OleDbCommand、OleDbDataAdapter、OleDbTransaction、OleDbDataReader等。连接字符串:与OracleClient方式相比,要添加一个provider,“provider=MSDAORA.1;”下面是示例,分别用这两种方式实现了相同的功能:连接数据库,并将查询到的数据放到dataSet中。
关于ASPnet问题
当注册用户点击首页链接时总是先返回到B首页,当再次点击时才返回到A首页.既然已经转到了B首页,怎么"再次"点击呢?B页也有返回链接?能否说的更清楚点-----------------------------------------------------------那你不点别的页面,用户登陆以后直接就点"首页"出来的是A还是B呢?另外判断的那断代码帖上来可以么-----------------------------------------------------------《script language="C#" runat="server"》 public string msg=""; private void Page_Load(object sender, System.EventArgs e) { if(Session==null) { msg="index.aspx";} else { msg="index1.aspx"; } } 《/script》 页面判断 《a href="《%=msg%》" class="sensors01" target="_parent" 》首页 《/a》 先试试吧,msg不一定有值.
如何解密下面的字符串 它是什么加密方式
楼主是想在WEB.CONFIG文件中加密数据库联接字符串吧? web.config中加密连接字符串 旧版本的ASP.NET将连接字符串直接保存在ASPX页面中。回想一下,连接字符串包含了数据服务器名称和用户账户等信息,有时候甚至还包含了密码。在代码中包含以上信息是非常不好的习惯,原因有二。首先,这些信息可以被设计小组中的每一位程序人员看到(但是站点访问者不能在浏览器上看到)。第二,在整个Web站点中的每一个拥有该连接的地方,都必须进行维护和更新。更新密码成为了一项繁重的工作。 ASP.NET 2.0提供了一个选项可以将连接字符串移动至Web.config文件的连接区域,给字符串一个名称并将其加密。然后ASP.NET 2.0页面就通过这个名称来引用连接字符串。保存连接字符串至Web.config的步骤并不复杂。打开位于站点根目录下的Web.config文件。找到被《connectionString》界定的区域(如果不存在,可自行添加)并在《Add》标记中输入如下代码。该标记有三个属性:name、connectionString和providerName。属性name就是将会在页面中使用的连接字符串的普通名称。connectionString属性应当设置为连接至数据库的完整的连接字符串,如前所述。 e.g. 《?xml version="1.0"?》 ***隐藏网址***《connectionStrings》 《add name="SQLProfileConnString" connectionString="server=FOX;database=MSPetShop4Profile;user id=mspetshop;password=pass@word1;min pool size=4;max pool size=4;" providerName="System.Data.SqlClient" /》 《add name="SQLMembershipConnString" connectionString="server=FOX;database=MSPetShop4Services;user id=mspetshop;password=pass@word1;min pool size=4;max pool size=4;" providerName="System.Data.SqlClient" /》 《add name="SQLConnString1" connectionString="server=FOX;database=MSPetShop4;user id=mspetshop;password=pass@word1;min pool size=4;max pool size=4;" providerName="System.Data.SqlClient" /》 《add name="SQLConnString2" connectionString="server=FOX;database=MSPetShop4;user id=mspetshop;password=pass@word1;max pool size=4;min pool size=4;" providerName="System.Data.SqlClient" /》 《add name="SQLConnString3" connectionString="server=FOX;database=MSPetShop4Orders;user id=mspetshop;password=pass@word1;min pool size=4;max pool size=4;" providerName="System.Data.SqlClient" /》 《add name="OraProfileConnString" connectionString="" providerName="System.Data.OracleClient" /》 《add name="OraMembershipConnString" connectionString="" providerName="System.Data.OracleClient" /》 《add name="OraConnString1" connectionString="" providerName="System.Data.OracleClient" /》 《add name="OraConnString2" connectionString="" providerName="System.Data.OracleClient" /》 《add name="OraConnString3" connectionString="" providerName="System.Data.OracleClient" /》 《/connectionStrings》 《appSettings》 《!-- Pet Shop DAL configuration settings. Possible values: PetShop.SQLServerDAL for SqlServer, PetShop.OracleServerDALfor Oracle. --》 《/appSettings》 《/configuration》 通过使用命令,可以将Web.config文件的连接字符串区域加密。当ASPX页面请求连接字符串时,将由ASP.NET自动对信息进行解密。加密必须由以下命令行来执行。依次单击Start/Run/cmd并切换至C:\WINDOWS\ Microsoft.net\ Framework\ v2.0.xxxx,其中xxxx是您的软件版本。如果C:\Websites\BegAspNet2Db是站点根目录的话,即可输入如下命令行: aspnet_regiis –pef connectionStrings C:\Websites\BegAspNet2Db 加密连接字符串的命令行工具还可以使用虚拟路径语法(在IIS元数据库中的路径),而无需指定Web.config文件的完全限定路径,如下所示: aspnet_regiis –pe connectionStrings –app /BegAspNet2Db 一旦执行完了加密过程,就可以打开Web.config文件,但是连接字符串已经被混淆。当ASP.NET需要,连接字符串即可自动解密,或者如果需要进行一些更改,例如修改密码,则可以手动输入以下代码来解密。 aspnet_regiis –pdf connectionStrings c:\Websites\BegAspNet2Db 请注意,在默认情况下,加密过程使用了一个基于加密算法执行的机器的键。解密过程(无论手动还是在处理页面过程中)必须发生在与加密相同的机器上。例如,作为XCOPY部署的一部分,移动Web.config至另外一台机器将会导致Web.config无法解密,所以推荐在部署Web站点至最终机器之后,再将连接字符串进行加密。 PS:petshop4.0安装的时候如果选择 “Full Install”,那么配置文件默认就加密了,这也是我一开始怎么也找不到连接字符串,然后用windows集成验证怎么也登不上去的原因。 后来发现在安装目录下有两个批处理文件: 1、加密EncryptWebConfig.bat @echo off C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -pef "connectionStrings" "D:\Program Files\Microsoft\.NET Pet Shop 4.0\Web" PAUSE 2、解密DecryptWebConfig.bat @echo off C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -pdf "connectionStrings" "D:\Program Files\Microsoft\.NET Pet Shop 4.0\Web" PAUSE 加黑的就是两个文件的区别。
更多文章:
联想thinkpade40(联想thinkpade40笔记本电脑升级)
2024年7月12日 23:26
thinkpad e531(thinkpad e531配置)
2024年7月23日 00:14