仓酷云

标题: ASP.NET网站制作之ASP.NET开辟网站程序罕见毛病汇总 [打印本页]

作者: 老尸    时间: 2015-1-16 22:21
标题: ASP.NET网站制作之ASP.NET开辟网站程序罕见毛病汇总
就安全性而言,Java已经远远低于VB.NET,更无法与安全性著称的C#相比。</p>在使用Visiolstudio.NET开辟Web使用程式中,开辟者经常会碰到一些成绩:如我开辟好的程式,在开辟情况下测试没成绩,怎样一搬到使用情况下,就会有成绩?不是程式的没法运转,就是程式的效力慢的同蜗牛在爬,这类情形在.NET的老手中特别罕见。我不晓得为何,一些先容.NET开辟的书籍里援用的例子代码,也对此成绩置若罔闻,特别让我忧郁的是一些我喜好的书,如:<<ADO.NET手艺内情>>,<<ASP.NET2.0初级编程(第4版)>>,这两本都是清华年夜学出书社出书的,有一本书更糟<<VisualBasic.Net专业项目实例开辟>>,我倡议人人仍是不要看了吧,免的华侈工夫和精神。
这篇文章不但对.NET开辟者的老手有匡助,一样对哪些有履历,也带来一些启发和参考。
他们会碰到甚么样的成绩,我无妨总结给人人:
1.数据库毗连超时
2.创立的工具尽管用,不论开释
3.调试(Debug)形式下编译后,就用于使用情况中了
4.实践功课形式分享
下面的成绩就像毒瘤,堆集到必定水平就发作,且影响深远。
1、数据库毗连超时篇
若要晓得数据库毗连超时成绩,先看上面一段代码:
[Sample-01]:
PublicSharedFunctiongetOEMPN(ByValpsPNAsString,ByRefOEMPNAsString)AsBSResult
0001DimclsResultAsNewBSResult
0002Try
0003clsResult.ResultID=-1
0004DimdtResultAsNewDataTable
0005DimSqlAsString=String.Empty
0006DimclsOraDbAsNewclsOraClienDb
0007DimstrConnAsString=ConfigurationManager.ConnectionStrings("ConnectionString").ConnectionString
0008clsOraDb.Open(strConn)‘这里Open后,前面看不到clsOraDb.Close
0009Sql="SELECTSATBMMBRND.OEMPNFRUNOFROMSATBMMBRNDWHERESATBMMBRND.MATNO=:MATNO"
0010Dimparams()AsOracleParameter={NewOracleParameter("MATNO",psPN)}
0011IfclsOraDb.FillDataTable(Sql,dtResult,params)=FalseThen
0012ReturnclsResult
0013EndIf
0014IfdtResultIsNothingThen
0015ReturnclsResult
0016EndIf
0017IfdtResult.Rows.Count>0Then
0018OEMPN=dtResult.Rows(0)("FRUNO").ToString()
0019Else
0020OEMPN=""
0021EndIf
0022clsResult.ResultID=1
0023ReturnclsResult
0024CatchexAsException
0025clsResult.ResultID=-1
0026ReturnclsResult
0027EndTry
EndFunction
对上述代码行的部分化释:

0006:援用数据库毗连的类;
0008:翻开数据库毗连;
然后,全部函数你再找不到封闭数据库毗连的举措,是要等着操纵体系来开释吗?有人就说啦,看起来仿佛没有甚么年夜不了的,这仅仅是一个函数罢了;数据库翻开毗连,未封闭不会影响到全部使用程式;果然是如许吗?
让我们谈谈数据库毗连的成绩,在Oracle数据库里,一样平常默许的数据库毗连数最多也就100多来个,不会凌驾200个,即便你改动这个毗连数,但不管如何,它的毗连数是无限的,不成能无穷地供你损耗。
在Web这个程式里,它不但不会主动封闭数据库毗连,象如许的函数还会每次挪用,城市从头用失落一个数据库毗连;假如象如许的函数良多的话,你就等着一个毛病告诫页面弹出来,如DatabaseConnectionTimeout...等讯息。
<p>是不是实质都是API?有的好像不只是API那么简单的,有的也是一种框架就像MFC一样。有的还是一种思想(就是做软件的思想)(好像很深奥,其实我也不懂^_^)
作者: 冷月葬花魂    时间: 2015-1-18 09:53
提供基于组件、事件驱动的可编程网络表单,大大简化了编程。还可以用ASP.NET建立网络服务。
作者: 分手快乐    时间: 2015-1-21 18:20
提供基于组件、事件驱动的可编程网络表单,大大简化了编程。还可以用ASP.NET建立网络服务。
作者: 再见西城    时间: 2015-1-30 21:43
可以看作是VC和Java的混合体吧,尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性。
作者: 莫相离    时间: 2015-2-6 16:09
通过这次激烈的讨论,我从大家身上学到了太多,开阔了眼界,不管是支持我的还是骂我的,都感谢你们。
作者: 柔情似水    时间: 2015-2-17 02:58
虽然在形式上JSP和ASP或PHP看上去很相似——都可以被内嵌在HTML代码中。但是,它的执行方式和ASP或PHP完全不同。在JSP被执行的时候,JSP文件被JSP解释器(JSPParser)转换成Servlet代码,然后Servlet代码被Java编译器编译成.class字节文件,这样就由生成的Servlet来对客户端应答。所以,JSP可以看做是Servlet的脚本语言(ScriptLanguage)版。
作者: 变相怪杰    时间: 2015-3-5 14:57
对于中小项目来说.net技术是完全可以胜任,但为什么现在大型公司或网站都选择php或java呢?就是因为微软不够开放,没有提供从硬件到应用服务器再到业务应用的整套解决方案。
作者: 简单生活    时间: 2015-3-12 08:38
可以通过在现有ASP应用程序中逐渐添加ASP.NET功能,随时增强ASP应用程序的功能。ASP.NET是一个已编译的、基于.NET的环境,可以用任何与.NET兼容的语言(包括VisualBasic.NET、C#和JScript.NET.)创作应用程序。另外,任何ASP.NET应用程序都可以使用整个.NETFramework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。
作者: 透明    时间: 2015-3-19 19:24
由于CGI程序每响应一个客户就会打开一个新的进程,所以,当有多个用户同时进行CGI请求的时候,服务器就会打开多个进程,这样就加重了服务器的负担,使服务器的执行效率变得越来越低下。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2