仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 747|回复: 7
打印 上一主题 下一主题

[学习教程] ASP.NET教程之从小处看C#.net渣滓接纳

[复制链接]
老尸 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:47:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
J2EE比较成熟一点,一些比较出名的企业应用软件都是基于J2EE的。以后的发展就不好说了。不过java比较烦,学.net的话,微软把很多工具都封装好了,学起来可能容易一点。假如不必MDI来完成一个主窗体翻开多个子窗体时,
从一个窗体(主窗体)翻开一个(onlyone)别的一个的窗体(子窗体)的完成
父窗体:MainForm
publicpartialclassMainForm:Form
{
............
privatevoidmenuItem1_Load(objectsender,EventArgse)
{
ChildFormchild1=ChildForm.Create();
child1.show();
child1.Focus();
}

//......
}
子窗体:ChildForm
publicpartialclassChildForm:Form
{
.....
staticChildFormchild;

PublicstaticChildFormCreate()
{
if(child==null)
child=newChildForm();
returnChild;
}
......
}
F5运转后,切实其实完成了下面提到的功效。但是,把子窗体封闭后,想再次翻开该子窗体时,单击菜单项,会呈现非常:ObjectDisposedExceptionwasunhandled.
这是为何呢??
这里触及到C#渣滓接纳的成绩:
渣滓接纳是.NET运转库的一部分。渣滓接纳器办理一切的托管工具,一切必要托管数据的.NET言语(包含C#)都受运转库的渣滓接纳器的制约。渣滓接纳器能够断定运转渣滓接纳的最好工夫,主动举行渣滓接纳。但是渣滓接纳的一个产品是:C#工具没有断定性损坏。以是会呈现工具child已被烧毁,但又不为null,会见时发生ObjectDisposedException非常。
怎样办??
办法:应当完全接纳Child所占的资本。
路子有二:
办法一:
修正子窗体的机关函数
publicChildForm()
{
//.........
this.Disposed+=newSystem.EventHandler(Form_Disposed)
}
然后事务Form_Disposed的处置函数
privatevoidForm_Disposed(objectsender,EventArgse)
{
Child=null;
}
办法二:
重写ChildForm的OnClosed办法
ProtectedvoidOnClosed(EventArgse)
{

base.OnClosed(e);
child=null;
}
固然大概有其他的办法,列位看客有乐趣的话增补一下。别的有叙说不妥的中央,请多多指教,鄙人感激涕零。
Java欺骗了我们那么多年,如今的多核时代,我认为它气数已尽!
活着的死人 该用户已被删除
沙发
发表于 2015-1-19 23:49:49 | 只看该作者
由于JSP/Servlet都是基于Java的,所以它们也有Java语言的最大优点——平台无关性,也就是所谓的“一次编写,随处运行(WORA–WriteOnce,RunAnywhere)”。除了这个优点,JSP/Servlet的效率以及安全性也是相当惊人的。
分手快乐 该用户已被删除
板凳
发表于 2015-2-5 08:23:30 | 只看该作者
主流网站开发语言之JSP:JSP和Servlet要放在一起讲,是因为它们都是Sun公司的J2EE(Java2platformEnterpriseEdition)应用体系中的一部分。
透明 该用户已被删除
地板
发表于 2015-2-11 08:11:31 | 只看该作者
众所周知,Windows以易用而出名,也因此占据不少的服务器市场。
深爱那片海 该用户已被删除
5#
发表于 2015-3-2 00:48:47 | 只看该作者
但是java靠开源打出的一片天地,特别是在微软的垄断下能打开今天的局面还是有它的生命力的。
admin 该用户已被删除
6#
发表于 2015-3-11 01:26:44 | 只看该作者
Asp.net:首先来说,Asp.net和Asp没什么关系,看着像是升级版本什么的,其实没什么联系。Asp是脚本编程,用的是ASP语言,而ASP.net用的是C#语言,完全不同的东西。
兰色精灵 该用户已被删除
7#
发表于 2015-3-17 18:08:20 | 只看该作者
Servlet的形式和前面讲的CGI差不多,它是HTML代码和后台程序分开的。它们的启动原理也差不多,都是服务器接到客户端的请求后,进行应答。不同的是,CGI对每个客户请求都打开一个进程(Process)。
飘灵儿 该用户已被删除
8#
发表于 2015-3-24 17:15:20 | 只看该作者
Servlet的形式和前面讲的CGI差不多,它是HTML代码和后台程序分开的。它们的启动原理也差不多,都是服务器接到客户端的请求后,进行应答。不同的是,CGI对每个客户请求都打开一个进程(Process)。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 03:52

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表