当前位置:首页 » 编程软件 » 编译aspnet

编译aspnet

发布时间: 2024-06-08 07:23:07

‘壹’ ASP与aspnet有什么不同,区别在哪里

不是的……完全不一样的程序……你都使用过就可以了……应该说ASP是一个不规范的,临时性的语言,不是说ASP功能不强,而是和ASP。NET比较一下就知道了。.NET是ASP的加强,强化了程序向的功能,也就是说,ASP。NET是一个单独的程序语言,而ASP只是一种强化网页功能的代码,我说的比较笼统,因为这是我两个都使用下来的一个感觉,你自己去使用一下就知道了。asp.net要比ASP规范和正式很多很多。
如果说ASP是在IE里浏览的网页的话
asp.net就是在IE里浏览的程序了。

‘贰’ ASP.NET是什么

ASP.NET是.NET FrameWork的一部分,是一项微软公司的技术,是一种使嵌入网页中的脚本可由因特网服务器执行的服务器端脚本技术,它可以在通过HTTP请求文档时再在Web服务器上动态创建它们。 指 Active Server Pages(动态服务器页面) ,运行于 IIS(Internet Information Server 服务,是Windows开发的Web服务器)之中的程序 。
………………………………………………

如果对aspnet感兴趣,看看一个大专生怎么自学aspnet到找到工作。
先做个自我介绍,我07年考上一所很烂专科民办的学校,学的是生物专业,具体的学校名称我就不说 出来献丑了。09年我就辍学了,我在那样的学校,一年学费要1万多,但是根本没有人学习,我实在看不 到希望,我就退学了。
退学后我也迷茫,大专都没有毕业,我真的不知道我能干什么,我在纠结着我能做什么。所以辍学后 我一段时间,我想去找工作,因为我比较沉默寡言,不是很会说话,我不适合去应聘做业务。我想应聘 做技术的,可是处处碰壁。
一次偶然的机会,我才听到aspnet这个行业。那天我去新华书店,在计算机分类那边想找本书学习 。后来有个女孩子走过来,问我是不是读计算机的,有没有兴趣学习aspnet,然后给我介绍了一下 aspnet现在的火热情况,告诉我学aspnet多么的有前景,给我了一份传单,aspnet培训的广告。听了 她的介绍,我心里痒痒的,确实我很想去学会一门自己的技术,靠自己的双手吃饭。
回家后,我就上网查了下aspnet,确实是当今比较热门的行业,也是比较好找工作的,工资也是相 对比较高。我就下决心想学aspnet了。于是我去找aspnet培训的相关信息,说真的,我也很迷茫,我 不知道培训是否真的能像他们宣传的那样好,所以我就想了解一段时间再做打算。
后来,我在网络知道看到一篇让我很鼓舞的文章是一个aspnet高手介绍没有基础的朋友怎么自学入 门学aspnet,文章写的很好,包含了如何学习,该怎么学习。他提到一个方法就是看视频,因为看书实 在太枯燥和费解的,很多我们也看不懂。这点我真的很认同,我自己看书往往看不了几页。
我在想,为什么别人都能自学成才,我也可以的!我要相信自己,所以我就想自学,如果实在学不会 我再去培训。
主意一定,我就去搜索aspnet的视频,虽然零星找到一些aspnet的视频,但是都不系统,我是想找 一个能够告诉我该怎么学的视频,一套从入门到精通的视频,一个比较完整的资料,最好能有老师教, 不懂可以请教的。
后来我又找到一份很好的视频,是在IT学习联盟推出的一份视频《零基础aspnet就业班》(喜欢《 零基础aspnet就业班》的可以复制 sina.lt/bsjr 粘贴浏览器地址栏按回车键即打开)
下面介绍下我的学习流程,希望对和我一样完全没有基础的朋友有所帮助。
收到他们寄过来的光盘后,我就开始学习了,由于我没有什么基础,我就从最简单的C#语言视频教程 学起,话说简单,其实我还是很多不懂的,只要重复多看几遍,就能看懂。C#语言我差不多学了一个礼 拜,接下来我就学了winform,sql Server,html/css/javaScript,差不多也就三个礼拜。我每天都在不 停的写一些简单的代码,这样一月后我基本掌握了aspnet的全部基础。
接下来开始学习aspnet高级课程,老师幽默风趣而又轻松的课堂教课,使我发现原来学习aspnet并 不是一件很难的事情。之前我把aspnet基础学得还不错,到了到了aspnet高级部分,我觉不又不是很 难,可能老师太牛了,他能把复杂的问题讲的比较通俗易懂,有些难点的地方我还是连续看了五六次, 把他弄懂。每天下午6点下班后,吃了饭,马上跑回家。看视频,买了几本笔记本。当时,为了编程还花几百元了台二手的台式电脑,配置一般,但编程是足够的。一边看视频,一边记笔记,把重点都记下来,还一边跟着老师敲代码,为了能尽早学会aspnet。每天都坚持学5-6个小时。经常学到晚上一点多才睡觉。星期六,日不用上班,每天7点多起床,学到晚上11,12点。那段时间特别辛苦,特别累。在学习aspnet的三个多月里,除了吃饭睡觉工作,剩余的时间都在学习,因为我知道自己的计算机基础不是很好,也没有学过什么计算机,相对于那些科班的人来说我要比他们付出更多的努力。我只能咬紧牙关,坚持下去,我不能放弃,我要完成我的梦想,我要让我的家人过上好日子。终于三个多月后我把aspnet教程里的内容和项目都学完了,在学项目的过程中我发现项目特别重要,他能把你学过的知识全部联系起来,能更好的理解你所学的知识。还有学习过程中,动手很重要,要经常跟着老师动手敲,动手吧,跟着做,一行一行的跟着敲,再试着加一些自己的功能,按照自己的思路敲一些代码,收获远比干听大的多。 如果遇到暂时对于一些思路不能理解的,动手写,先写代码,慢慢你就会懂了。
于是我就到51job疯狂的投简历,因为我学历的问题,专科没有毕业,说真的,大公司没有人会要我,所以我投的都是民营的小公司,我希望自己的努力有所回报。没有想过几天过后,就有面试了,但是第一次面试我失败了,虽然我自认为笔试很好,因为我之前做了准备,但是他们的要求比较严格,需要有一年的项目经验,所以我没有被选中。
后来陆续面试了几家公司,终于功夫不负有心人。我终于面试上的,是在闵行的一家民营的企业,公司规模比较小,我的职务是aspnet开发程序员,但我也比较满足,开的工资是3500一个月,虽然我知道在上海3500只能过温饱的生活,但是我想我足够了。我至少不用每天都要靠父母养,我自己也能养活自己的。我想只要我继续努力,我工资一定会翻倍的。
把本文写出来,希望能让和我一样的没有基础的朋友有信心,其实我们没有必要自卑,我们不比别人笨,只要我们肯努力,我们一样会成功。

…………………………………………

‘叁’ ASP.NET常见错误大全

检测到有潜在危险的 Request Form 值

原因:

( )在提交数据的页面或webconfig中没有对validateRequest的属性进行正确的设置

( )HTML里面写了轿烂旅两个<form>引起

解决:

方案一 在 aspx文件头中加入这句 <%@ Page validateRequest= false %>

方案二 修改nfig文件:

<configuration>

<system web>

<pages validateRequest= false />

</system web>

</configuration>

因为validateRequest默认值为true 只要设为false即可

在没有任何数据时进行无效的读取尝试 解决办法

原因

所返回的sqldatareader无数据记录 但没有作记录判断力处理 返回的是空值

加上判断即可 if (reader read()) { TextName Text =

reader[ FieldName ] ToString(); }

数据为空 不能对空值调用此方法或属性

原因:

若对象是null 那么调用对象的方法例如ToString()肯定出错一般是数历宴据库字段的值为空

在grideview等闭凳数据控件常出现

解决:因此建议作NULL处理

阅读器关闭时 FieldCount 的尝试无效

原因:

使用了SqlDataReader来绑定数据后 将connection对象作了Close()处理

类似

public SqlDataReader GetSomething()

{

conn open();

SqlDataReader reader =

sqlcmd ExcecutReader(CommandBehavior CloseConnection));

conn close();// occur error here

return reader;

}

在绑定的时候调用了这个方法来指定数据源 如果使用这个方法则需要在调用函数中关闭Re

ader这样conn就可以自动关闭

如果是使用的是SqlDataAdapter和DataSet那么请去掉显式关闭conn的调用 或者在finally

中调用之

未能映射路径

原因:可能是在webconfig中的路径配置不正确所致 在FCKEditor的配置中这种问题比较突出

<add key= FCKeditor:BasePath value= ~/admin/fckeditor/ />

<add key= FCKeditor:UserFilesPath value= /UserFiles/ />

Unreachable code detected

原因

一般是在异常处理理或返回值时使用了 throw 或return 可能是其位置放在前面 造成后面的代码执行到了

解决

把相关的异常抛出处理的语句(throw)或return 的语句放到代理执行的最后一行

索引超出范围 必须为非负值并小于集合大小

原因

( ) 没有设置DATAKEYFIELD设为数据库中相对应的唯一字段(一般是主键)

( ) DataGrid Columns > e Item Cells

解决

( ) 设置datakeyfield

( ) 加入判断语句unt (datagrid可以是其它相类似的服务器控件)

数据源不支持服务器端的数据分页

解决方法:

不要使用DataReader 改成使用DataSet 或使用自定义分页形式 不采用提供的分页功能

OleDbDataAdapter da = new OleDbDataAdapter(sql connection);

DataSet ds = new DataSet();

da Fill(ds News );

GridView DataSource = ds ;

GridView DataBind();

对象名 ***** 无效

原因:当前使用的数据库中没有*****这张表

解决: 查看是否程序中是否写错了所调用的表的名称或看一下SQL数据库中是否存在你所调用的表

在建立与服务器的连接时出错 在连接到 SQL Server 时 在默认的设置下 SQL

Server 不允许进行远程连接可能会导致此失败 (provider: 命名管道提供程序

error: 无法打开到 SQL Server 的连接)

solution: 主机上需要用固定的IP地址或服务器地址

SqlDateTime 溢出 必须介于 / / : : AM 和 / / : : PM

之间

出现这种问题``多半是因为你更新数据库时``datetime字段值为空``默认插入 年 月

日``造成datetime类型溢出

出现 表示 属性 此处应为 方法

原因:

VB与c#的方法 属性的格式有所不一样导致

可能是在design中绑定数据的语法出现错误 解决: 记住属性用[] 方法用()

记住绑定数据的正确语法(有以下几种方式::<%Container DataItem( 字段名 )%> <%

#Eval( 字段名 )%> <%Bind( 字段名 )%>等)

未能从程序集 DAL Version= Culture=neutral

PublicKeyToken=null 中加载类型 DAL SqlHelper

原因:修改了其他层后未能重新编译成dll

解决:编译一下(Rebuild)

为过程或函数 指定的参数太多

solution:调用存储过程与定义的存储过程所用的参数数量或所执行的SQL语句中所传入的参

数个数不一致(这是个SQL的错误)

解决方案:仔细检查在存储过程中所设定的参数变量 与实际输入的参数值是否一一对应

无法启动调试 绑定句柄无效

原因:系统的Terminal Services没有开启

Unable to debugging on the web server Debug failed because integrated windows authentication is not enable

解决方法:

打开vs >工具(Tools) >选项(Option) >调试(debugging) >编辑并继续(Edit and Continue) >全部打勾

Automation 操作中文件名或类名未找到: RegExp

解决方法:regsvr vbscript dll

System NullReferenceException: 未将对象引用设置到对象的实例

原因:

( )所设置的变量为空值或没有取到值 一般出现在传递参数的时候出现这个问题 也会在使用datagrid或gridview或datalist等数据控件时出现

( )控件名称与codebehind里面的没有对应

( )未用new初始化对象

( )在程序中所引用的控件不存在

解决方法:

( )使用try catch finally捕捉错误 或直接用response write()输出所取的变量值

( )查看代码中是否存在未初始化的变量

错误 文件被数字签名策略拒绝(安装vs sp 时)解决方法:

( ) 单击 开始 单击 运行 键入 control admintools 然后单击 确定

( ) 双击 本地安全策略

( ) 单击 软件限制策略 (注意 如果未列出软件限制 请右击 软件限制策略 然后单击 新建策略 )

( ) 在 对象类型 下 双击 强制

( ) 单击 除本地管理员以外的所有用户 然后单击 确定

( ) 重新启动计算机

微软说明

vs 不能从源文件模式切换到视图模式

解决方法:dos下运行下 devenv /resetskippkgs (win+r cmd)

Validation of viewstate MAC failed

解决办法:页面的顶部page加 EnableViewState= False EnableViewStateMac = False 来解决这个问题

Automation server can t create object (Automation 服务器不能创建)

解决办法:运行: Regsvr scrrun dll 即可

包加载失败

未能正确加载包 Visual Web Developer Trident Designer Package (GUID =

{ AE E C D E F A AEFF }

解决方法:

设置系统变量 VsLogActivity=

在%APPDATA%MicrosoftVisualStudio 文件夹下创建文件ActivityLog xml

Error

Microsoft Visual Studio

LoadLibrary failed for package [Visual Web Developer Trident Designer Package]

{ AE E B C D E F A AEFF }

e

c:Program FilesMicrosoft Visual Studio Common Packages ridsn dll

从 WINNTMicroSoft NETFrameworkv xxx 复制文件gdiplus dll 到 Program FilesVisual Studio Common Packages文件夹下

在命令行下运行命令 devenv /resetskippkgs

Error spawning cmd exe

解决方案:把cmd exe 拷贝到VS安装目录下的VC/BIN目录里 可以解决问题

尝试读取或写入受保护的内存

解决:硬件有问题 一般内存有问题

无法在证书存储区中找到清单签名证书

解决方法:用记事本打开项目的 csproj文件 删除类似

该项目中不存在目标 ResolveKeySource

原因:这个问题很罕见 查询国外相关资料后 大致说是由于部署的不是一个标准的solution 需要在VS自带的命令提示中运行下面这个东西恢复

解决方法:

( ) 将下列代码存为XML文件 命名为TestBuild xml

<Project DefaultTargets= Build xmlns= >

<PropertyGroup>

<TargetConnectionString>Data Source= sql % BUser ID=SqlUser% BPooling=False% BPassword=X</TargetConnectionString>

</PropertyGroup>

<ItemGroup>

<DatabaseProject Include= Database Database dbproj />

<DatabaseProject Include= Database Database dbproj />

</ItemGroup>

<Target Name= BuildAllDatabaseProjects >

<MSBuild

Properties= TargetConnectionString=$(TargetConnectionString)

Projects= @(DatabaseProject)

Targets= Build;Deploy >

</MSBuild>

</Target>

( )在命令提示中运行:m *** uild /t:BuildAllDatabaseProjects TestBuild xml

</Project>

不能将值 NULL 插入列 **

原因:这是数据库表设计的错误 所涉及的表的字段中设置了不能为空的属性 但是传入的值为null 所以报错

解决方法:查看是否所传入的值是否为Null 或修改数据库中表的所对应的列的属性

未能加载类型 命名空间 类

原因:

( )项目修改后没有进行编译

( )项目中原有的命名空间可能被修改了

( )项目中所需要的ascx或其他页面不存在 或不包含在项目中

解决方法:

( )在修改完成之后 请重新生成或编译整个项目或解决方案

( )手工修改所改动的命名空间 注意名称的大小写 再重新编译

( )将相关的文件包含在项目中

不能访问只读文件 **** ***

解决方案:

给虚拟目录所对应的文件加上 Everyone/写入 权限即可

请求因 HTTP 状态 失败 Access Denied解决方法:在iis信息服务器上把匿名访问和允许iis控制密码给勾上

有一个无效 SelectedValue 因为它不在项目列表中

原因

( )在没有绑DropDownList之前就给DropDownList SelectedValue 赋值

( )dropdownlist中出现了null值

无法在 已存在的情况下创建/影像复制该文件

解决方案 重新编译项目(多个project全部重新编译) 关闭vs 重新打开 必要时重新启动机子

用户 CASPNET 登录失败登录失败

异常详细信息: System Data SqlClient SqlException: 用户 COOASPNET 登录失败

这是怎么回事啊?

因为你的程序连接SQLServer的连接字符串是用了windows集成登陆 你可以改成用数据库帐号密码登陆 连接字符串的写法是

server=localhost;uid=sa;pwd=xxxx;database=master;

server是数据库服务器的机器名或者IP 如果是同一台机可以用localhost

uid是数据库登陆帐号

pwd是数据库密码

database是数据库初始owner名称

答案

右击桌面我的电脑 选择 管理 双击打开的 计算机管理 对话框中的 本地用户和组 下的 组 在右边的窗口中双击 Remote Desktop Users 组 在打开的 Remote Desktop Users 属性对话框中 单击添加 在打开的 添加用户 对话框中单击 高级 再单击 立即查找 按钮 在 搜索 结果中 双击ASPNET(如果是IIS NEOR SERVERCE )再点击两次确定完成添加 用户

单击 开始 所有程序 Microsoft SQL Server 企业管理器 在打开的 控制台根目录 选择相应的数据库 右击该数据库的中的 用户 选择 新建数据库用户 在 新建用户 对话 框中点击 登陆名 右侧的下拉列表框 选择 新建 打开 新建登陆对话框 点击名称右侧的 省略号按钮 在打开的对话框中将 列出的名称 中选择 本机的名称 再在下面的名称框中选定 Remote Desktop Users 然后点击 成员 按钮 双击 ASPNET(如果是IIS NEOR SERVERCE ) 然后点击确定 在 新建登陆对话 框 中的默认设置的 数据库 选项中选择相应的数据库名称 再在 数据库访问 选项下勾选相应 的数据库点击确定 完成将默认的匿名用户添加到SQL

用户 nt authority eork service 登录失败

> sqlserver 调成sql server 和windows验证模式

>

(以下方法仅供参考)

第一步 把 NT AUTHORITYNEORK SERVICE 添加到Administrator组中

我的电脑 >右键 >管理 >本地用户和组

选择 组 >双击Administrators >单击 添加 >单击 高级 >单击 立即查找 >在下面的列表中选择Neork Service用户 >两次单击 确定 >加入

第二步 在企业管理器中加入NetWord Service用户

打开Sql Server企业管理器 >选择数据库实例 >打开 安全性 节点 >选择 登录 >在右边的列表中单击右键 >选择 新建登录 >在 常规 选项卡中单击 名称 旁边的按钮 >选择 Administrators 组 >单击下面的 成员 按钮 >选择 Neork Service >单击 添加 按钮 >单击 确定 返回 新建登录 对话框 >保证身份验证类型为 windows验证 和 允许访问 >单击 确定 >关闭 企业管理器

第三步

重新运行程序 数据库连接字符串选择windows验证即可

> 在sqlserver中添加帐户或IIS_WPG工作组

此方法来自于

未能加载视图状态 正在向其中加载视图状态的控件树必须与前一请求期间用于保存视图状态的控件树相匹配 例如 当以动态方式添加控件时 在回发期间添加的控件必须与在初始请求期间添加的控件的类型和位置相匹配

原因 viewstate的在作用是将控件的状态保存 在下次Post给服务器 服务器进行恢复控件的状态 (控件的状态包括 值和事件 )

解决方法

( )每一个UserControl的viewstate都改为false

( )加入这个

this Page EnableViewState = false;

此方法来源于 _astar/archive/ / / /l

由于启动用户实例的进程时出错 导致无法生成 SQL Server 的用户实例 该连接将关闭

问题原因

这是微软的bug 并且微软已经承认 详情如下

出现此错误的条件是 你用过远程桌面连接 并且安装了SQL +VS 就有很大可能触发这个问题 微软说会在将来的XP SP 里面解决掉这个问题

解决

ID= &SiteID=

如果你看不懂英文 那么我告诉你我的解决办法

删除C:Documents and Settings[USERNAME]Local SettingsApplication DataMicrosoftMicrosoft SQL Server DataSQLEXPRESS目录即可 [USERNAME]是Windows用户名 比如说Administrator

此问题来于

Server Application Unavailable

The web application you are attempting to access on this web server is currently unavailable Please hit the Refresh button in your web browser to retry your request

Administrator Note: An error message detailing the cause of this specific request failure can be found in the application event log of the web server Please review this log entry to discover what caused this error to occur

解决

如果你运行WinXP/IIS 为了给ASPNET工作进程访问你的web工程文件夹的权力请到网站文件所在的目录 右键一级文件夹 选Security-Add-键入 ASPNET 点击OK或点击Check Names 如果弹出对话框提示 Name not Found 则应点击Locations改变位置到本机计算机名 点击OK 分配此用户权限为 Full Control 点击OK

错误变为

You are not authorized to view this page

You do not have permission to view this directory or page using the credentials you supplied

解决

在IIS里右键此虚拟目录-Properties-Directory Security-Edit 勾选上Integrated Windows authentication即可

超时时间已到 超时时间已到 但是尚未从池中获取连接 出现这种情况可能是因为所有池连接均在使用 并且达到了最大池大小

可能原因如下 并发操作 Connection用后没有关闭 或者因为DataReader连接独占连接

解决方法

修改几个关键页面或访问比较频繁的数据库访问操作 使用DataAdapter和DataSet来获取数据库数据 不要使用DataReader

在访问数据库的页面上使用数据缓存 如果页面的数据不是经常更新(几分钟更新一次)的话 使用Cache对象可以不用访问数据库而使用缓存中的内容 那么可以大大减少连接数量

修改代码 把使用Connection对象的地方都在Close()后面加上Dispose()调用

建议对数据库操作进行大的修改 建立自己的数据库操作代理类 继承System IDisposable接口 强迫释放资源 这样就不会出现连接数量不够的问题了

包加载失败

未能正确加载包 Visual Web Developer Trident Designer Package (GUID =

{ AE E C D E F A AEFF } 请与包供应商联系以获得帮助 由于可能会发生环境损坏 建议重新启动应用程序 要禁止将来将来加载此包吗?可以使用 devenv reswetskippkgs 重新启用包加载

每次开机打开vs 都会有这个提示 烦

于是在google了一下 发现很多方法都试过了 只有一个解决一试就行

解决方法如下:

设置系统变量 VsLogActivity=

在%APPDATA%MicrosoftVisualStudio 文件夹下创建文件ActivityLog xml

从 WINNTMicroSoft NETFrameworkv xxx 复制文件gdiplus dll 到 Program FilesVisual Studio Common Packages文件夹下

在命令行下运行命令 devenv /resetskippkgs

注:发现此问题只有在win 会出现 win 就不会出现这个问题

用户 xxxASPNET登录失败

第一步

把 NT AUTHORITY NetWORK SERVICE 添加到Administrator组中

我的电脑 >右键 >管理 >本地用户和组

选择 组 >双击Administrators >单击 添加 >单击 高级 >单击 立即查找 >在下面的列表中选 Neork Service用户 >两次单击 确定 >加入

第二步 在企业管理器中加 Neork Service用户

打开Sql Server企业管理器 >选择数据库实例 >打开 安全性 节点 >选择 登录 >在右边的列表中单击右键 >选择 新建登录 >在 常规 选项卡中单击 名称 旁边的按钮 >选择 Administrators 组 >单击下面的 成员 按钮 >选择 Neork Service >单击 添加 按钮 >单击 确定 返回 新建登录 对话框 >保证身份验证类型为 windows验证 和 允许访问 >单击 确定 >关闭 企业管理器

第三步

重新运行asp Net程序 数据库连接字符串选择windows验证即可

以上针对win 如果是win 加ASp Net用户

无法在 已存在的情况下创建/影像复制该文件

解决方法 重新编译整个项目 或者重启电脑

Could not create an environment: OCIEnvCreate returned

解决方案一

主要是将oracle主目录oracle的读写权限赋予或者是IUSER_ 和IWAM_ 重启计算机

解决二:

打开在IIS中的WEB属性--主目录--执行权限【改为-脚本和可执行文件】

-应用程序池【改为-MSSharePointAppPool】 刷新OK

解决三:

文件夹权限可以不用管

设置ORACLE_HOME变量的方法如下

控制面板>>系统>>高级>>环境变量>>系统变量>>新建系统变量

变量名写ORACLE_HOME

变量值添实际的ORACLE_HOME路径 在注册表中有

由于目标机器积极拒绝 无法连接

在添加完引用后 用localhost替换掉所有的localhost: 重新编译

能加载视图状态 正在向其中加载视图状态的控件树必须与前一请求期间用于保存视图状态的控件树相匹配 例如 当以动态方式添加控件时 在回发期间添加的控件必须与在初始请求期间添加的控件的类型和位置相匹配

解决 在页面的 Page 项添加 EnableViewState= false 即可

在以下方法或属性之间的调用不明确 method 和 method

因隐式转换的缘故 编译器无法调用重载方法的某种形式 可以用以下方法纠正该错误

以不发生隐式转换的方式指定此方法的参数

移除此方法的所有重载

在调用方法之前 强制转换到正确的类型

在应用程序级别以外使用注册为 allowDefinition= MachineToApplication

解决 在网站对应的虚拟目录上右键 选属性 然后在应用程序名后点创建 名字随便填

[子目录不会继承上级的属性 所以要将aspx文件所在的目录属性设置正确]

无法识别的配置节 connectionStrings

原因

用vs 开发的应用程序需要使 framework 而在iis中的默环境是 这时将发生不可识别的节点的问题

解决办法

环境升级为 开始-》运行-》cmd-》

C:WINDOWSMicrosoft NETFrameworkv aspnet_regiis exe i

Timeout expired The timeout period elapsed prior to obtaining a connection from the pool This may have occurred because all pooled connections were in use and max pool size was reached

Description: An unhandled exception occurred ring the execution of the current web request Please review the stack trace for more information about the error and where it originated in the code

Exception Details: System InvalidOperationException: Timeout expired The timeout period elapsed prior to obtaining a connection from the pool This may have occurred because all pooled connections were in use and max pool size was reached

主要原因可能有

使用了连接池 大量的sqlconnection用了后忘记关闸门 导致SQL占用严重 可以用 exec sp_who 这个存储过程查看一下

连接池的连接数有所限制

解决方法:

释放连接池 调用Connection对象的Close()方法关闭数据库连接

利用try catch finally对数据库连接进行异常处理 当无法连接数据库时将抛出异常 并显示出错信息 见catch代码块所示 在此程序中 无论是否发生异常 都可以通过finally区块关闭数据库的连接 从而节省计算机资源

将SqlConnection对象包含到using区块中 这样程序会自动调用Dispose()方法释放SqlConnection对象所占用的系统资源 无需再使用SqlConnection对象的Close()方法

指定min pool size表示连接池允许的最小连接数(默认为 ) 下面的代码指定了SqlConnection对象的max pool size为 min pool size为

lishixin/Article/program/net/201311/11175

‘肆’ 编译器错误消息: ASPNET: 请确保此代码文件中定义的类与“inherits”特性匹配,并且该类扩展的基类

修改对应的aspx文件,找到开头的地方,修改成:<%@ Page Language="C#" AutoEventWireup="true" CodeFile="shop_proct_type
aspx.cs" Inherits="shop_proct_type" %>
其中CodeFile=后面的是哪个aspx.cs文件就写哪个,如实写。

‘伍’ 初学asp.net C#,请教inherits的问题

inherits字面理解为:继承

CodeFile指的是你的后台文件,即你的以cs为扩展名的文件

像以下这个指令,你可以将CodeFile="cs1.aspx.cs"更改为:CodeFile="test1.aspx.cs",同时将你的Inherits="test1" 更改为:Inherits="你这个文件的命名空间" 。

还有一个问题,就是在aspx页面后台,不建议您使用“Main”这个命名的方法的。它不是控制台程序,也不是程序的入口。

‘陆’ VS2005 debug编译和msbuild编译 有什么区别

用aspnet_compiler发布网站在asp.net 2.0模型中,vs2005已经完全脱离了编译而成为了一个彻底的ide.算是一个不小的改动。其中更是取消了有关Web Application的概念,使得习惯了vs2003的人刚开始的时候会有一些摸不着头脑。下面简单说一下我在使用过程中自己总结的,算是一点经验。

新建web工程并且位置是文件系统的时候,vs2005只是帮你建好了一个sln文件,这个东西只是指引msbuild 如何进行编译的,过程是:ide 调用 msbuild ,msbuild解析sln文件,msbuild调用aspnet_compiler.exe进行网站的编译。所以aspnet_compiler.exe只是负责进行网站的编译的。

预编译的概念在 .netframework 1.1 里面就存在了,vs2003中的预编译指的是将页面对应的cs/vb文件与resx文件编译后统一集成到一个dll中放到bin目录下,将aspx文件直接拷贝过去。这样做会留下隐患,因为aspx文件就直接暴露在最后的发行包中,如果完全是codeb-behind模型还好,只能改改界面,如果采用了页面上的来生成页面,源代码就暴露了。针对这些问题,vs2005采用了一种新的模式。
请参看ASP.NET 编译工具 (Aspnet_compiler.exe) 这篇文章了解对各种文件的处理方式。

IDE发布:
vs2005中选择 生成-〉发布网站,在对话框中的操作将映射到aspnet_compiler.exe的参数中,可更新的发布对应 -u,其他选项类似,请参考上面的文章了解。
注意:发布时将忽略web.config中的debug参数,统一生成无调试信息的文件。

手工编译:
简单说来,如果是无更新发布模式编译,appcode下面的class编译成dll放在bin下,页面内容清空位置不变作占位用,同时页面被编译成一个随机名称的dll,增加一个同名.compiled文件到bin目录下,内容大概如下:

<?xml version="1.0" encoding="utf-8"?>
<preserve resultType="3" virtualPath="/Forum/AdminList.aspx" hash="6772609c3" filehash="49154463f1d6738c" flags="110000" assembly="App_Web_hmrycg3w" type="ASP.forum_adminlist_aspx">
<filedeps>
<filedep name="/Controls/footer.ascx" />
<filedep name="/Controls/header.ascx" />
<filedep name="/Forum/AdminList.aspx" />
<filedep name="/Forum/AdminList.aspx.cs" />
<filedep name="/Forum/menu.ascx" />
<filedep name="/Forum/menu.ascx.cs" />
</filedeps>
</preserve>
里面只是列出了页面上的customcontrol,这里已经完成了和masterfile的映射。这样最大限度的保护了页面的敏感信息,发布过的网站中只能看见一堆文件名了。可更新的发布模式与vs2003类似,页面就直接拷贝过来不予编译了。

讲了一堆原理,下面说一下aspnet_compiler.exe的调用方法,这是我使用的例子

我的开发目录是这样的

Project/
library/
devroot/
pubroot/
proj.sln
使用的命令如下:

aspnet_compiler -v / -p .\devroot -f .\pubroot
分析:

-v / 指明了iis的虚拟目录
-p .\devroot 表示代码实际位置
.\pubroot 指明了要发布的位置
-f 表示强制改写目标位置
你还可以用-u来进行传统意义上的预编译,-d来插入编译符号。

总的来说,aspnet_compile结合msbuild,提供了一个很好的自动化编译环境,值得研究研究:)

‘柒’ aspnet有什么好

ASP.NET优点主要表现在:

◆可管理性:

ASP.NET 使用基于文本的、分级的配置系统,简化了将设置应用于服务器环境和 Web 应用程序的工作。因为配置信息是存储为纯文本的,因此可以在没有本地管理工具的帮助下应用新的设置。配置文件的任何变化都可以自动检测到并应用于应用程序。详细信息,请参阅ASP.NET 配置。

◆安全:

ASP.NET 为 Web 应用程序提供了默认的授权和身份验证方案。开发人员可以根据应用程序的需要很容易地添加、删除或替换这些方案。详细信息,请参阅ASP.NET 安全。

◆易于部署:

通过简单地将必要的文件复制到服务器上,ASP.NET 应用程序即可以部署到该服务器上。不需要重新启动服务器,甚至在部署或替换运行的已编译代码时也不需要重新启动。详细信息,请参阅ASP.NET 部署。

◆增强的性能:

ASP.NET 是运行在服务器上的已编译代码。与传统的 Active Server Pages (ASP) 不同,ASP.NET 能利用早期绑定、实时 (JIT) 编译、本机优化和全新的缓存服务来提高性能。详细信息,请参阅ASP.NET 性能监视。

◆灵活的输出缓存:

根据应用程序的需要,ASP.NET 可以缓存页数据、页的一部分或整个页。缓存的项目可以依赖于缓存中的文件或其他项目,或者可以根据过期策略进行刷新。

◆国际化:

ASP.NET 在内部使用 Unicode 以表示请求和响应数据。可以为每台计算机、每个目录和每页配置国际化设置。

◆移动设备支持:

ASP.NET 支持任何设备上的任何浏览器。开发人员使用与用于传统的桌面浏览器相同的编程技术来处理新的移动设备。

◆扩展性和可用性:

ASP.NET 被设计成可扩展的、具有特别专有的功能来提高群集的、多处理器环境的性能。此外,Internet 信息服务 (IIS) 和 ASP.NET 运行时密切监视和管理进程,以便在一个进程出现异常时,可在该位置创建新的进程使应用程序继续处理请求。详细信息,请参阅ASP.NET 进程隔离。

◆跟踪和调试:

ASP.NET 提供了跟踪服务,该服务可在应用程序级别和页面级别调试过程中启用。可以选择查看页面的信息,或者使用应用程序级别的跟踪查看工具查看信息。在开发和应用程序处于生产状态时,ASP.NET 支持使用 .NET Framework 调试工具进行本地和远程调试。当应用程序处于生产状态时,跟踪语句能够留在产品代码中而不会影响性能。

◆与 .NET Framework 集成:

因为 ASP.NET 是 .NET Framework 的一部分,整个平台的功能和灵活性对 Web 应用程序都是可用的。也可从 Web 上流畅地访问 .NET 类库以及消息和数据访问解决方案。ASP.NET 是独立于语言之外的,所以开发人员能选择最适于应用程序的语言。另外,公共语言运行库的互用性还保存了基于 COM 开发的现有投资。

◆与现有ASP应用程序的兼容性:

ASP和ASP.NET 可并行运行在IIS Web服务器上而互不冲突;不会发生因安装 ASP.NET 而导致现有 ASP 应用程序崩溃的可能。ASP.NET 仅处理具有 .aspx 文件扩展名的文件。具有 .asp 文件扩展名的文件继续由 ASP 引擎来处理。然而,应该注意的是会话状态和应用程序状态并不在 ASP 和 ASP.NET 页面之间共享。

另外ASP.NET优点还包括了ASP.NET启用了分布式应用程序的两个功能:Web窗体和 XML Web 服务。相同的配置和调试基本结构支持这两种功能。

Web 窗体技术使您建立强大的基于窗体的网页。Web 窗体页面使用可重复使用的内建组件或自定义组件以简化页面中的代码。
使用 ASP.NET 创建的 XML Web 服务可使您远程访问服务器。使用 XML Web 服务,商家可以提供其数据或商业规则的可编程接口,之后可以由客户端和服务器端应用程序获得和操作。通过在客户端/服务器和服务器/服务器方案中的防火墙范围内使用标准(如 XML 消息处理和 HTTP),XML Web 服务可启用数据交换。以任何语言编写的且运行在任何操作系统上的程序都能调用 XML Web 服务。

ASP.NET优点就向你介绍到这里,希望通过这样的介绍使你更加了解ASP.NET优点,更好的使用ASP.NET。

热点内容
卡通农场服务器怎么连不上 发布:2024-11-26 22:26:54 浏览:194
马嘉祺密码1的答案是什么 发布:2024-11-26 22:19:16 浏览:954
linux常用命令vi 发布:2024-11-26 22:17:40 浏览:4
sqlserver教材 发布:2024-11-26 22:07:21 浏览:632
安卓p图工具哪个好 发布:2024-11-26 22:02:25 浏览:320
税控盘密码在哪里改 发布:2024-11-26 21:55:54 浏览:611
美版安卓系统为什么连不了网 发布:2024-11-26 21:51:36 浏览:613
用公司服务器搭建网站 发布:2024-11-26 21:42:00 浏览:357
忘记密码魅族手机如何清除数据 发布:2024-11-26 21:34:17 浏览:156
达内php视频 发布:2024-11-26 21:32:09 浏览:556