程序发生严重的窗体线程异常?

因为是第一次接触多线程的项目,对这方面的东西不太了解。

基本的流程是 利用Timer定时对数据库进行检索,然后将数据显示到窗体里的DataGridView中。

但是现在遇到这么一个问题,在窗体关闭的时候,this.Invoke方法会报错:“无法访问已释放的对象”。在FormClosing中添加了对Timer对象的中断后,出现这个错误的可能性减小了,但是仍会出现。

猜测是托管线程正在执行更新DataGridView的操作的时候,主线程关闭了窗口,将对象释放了。

试了一下在this.Invoke前添加了this.isDisposed的判断,但是还是有极小的可能会出现这个错误。请问下有什么方法可以让这个问题不会再出现呢?

三、Socket编程的基本步骤

补充内容一:图形用户界面

         数据库驱动程序:应用程序操作某种数据库所需要的代码集合,可以理解为介绍应用程序和数据库相互认识的软件模块

         枚举就是要让某个类型的变量的取值只能为若干个固定值中的一个,否则编译器就会报错,枚举可以让编译器在编译时就可以控制源程序赋给的非法值,使用普通变量的方式在开发阶段无法实现这一目标。

  答:用户控件一般用在内容多为静态,或者少许会改变的情况下..用的比较大..类似ASP中的中常用的对象有哪些?分别描述一下。

  中所有的自定义用户控件都必须继承自________?

  中所有可序列化的类都被标记为_____?

  托管代码中我们不用担心内存漏洞,这是因为有了______?

 中,类的错误处理机制是什么?

  答:.net错误处理机制采用try->catch->finally结构,发生错误时,层层上抛,直到找到匹配的Catch为止。

  下,.net引用了垃圾回收(GC)功能,它替代了程序员 不过在C#中,不能直接实现Finalize方法,而是在析构函数中调用基类的

  不依赖于ole db提供程序,而是使用.net托管提供的程序,2:不使用com3:不在支持动态游标和服务器端游 4:,可以断开

  服务器控件的生命周期

  答:初始化 加载视图状态 处理回发数据 加载 发送回发更改通知 处理回发事件 预呈现 保存状态 呈现 处置 卸载

   提示帮助只有在分离的代码文件,无 法 在页面嵌入服务器端代

  3 代码和设计界面切换的时候,中增加了40多个新的控件,减少了工作量

  中所有的自定义用户控件都必须继承自_ 中所有可序列化的类都被标记为__[serializable]___?
托管代码中我们不用担心内存漏洞,这是因为有了_ gC __?
中的代码隐藏文件的描述正确的是(C)
a)Web窗体页的程序的逻辑由代码组成,这些代码的创建用于与窗体交互。编程逻辑唯一与用户界面不同的文件中。该文件称作为“代码隐藏”文

方式,它确实可以完成把一个字符串添加到另一个字符串上的工作没错,但是在.NET框架下,这个操作实在是划不来。因为系统先是把两个字符

串写入内存,接着删除原来的String对象,然后创建一个String对象,并读取内存中的数据赋给该对象。这一来二去的,耗了不少时间。而使

用等ide将故障进程附加到进程

6)  单个TCP/IP端口上能够被多少个进程侦听?
可以为多个,多个为端口复用 (多谢蛙蛙池塘的提醒)

Socket socket1 = new Socket(应用程序在加载的时候,会首先查看全局应用程序集缓存,如果有就可以直接使用,没有再到应用程序目录进

1)  阐述面向接口、面向对象、面向方面编程的区别
面向接口更关注的是概念,它的原则是先定义好行为规范,再根据行为规范创建实现,严格的来说,面向接口应该是面向对象中的一部分吧,

因为面向对象也强调的是依赖倒置原则,也就是实现依赖于抽象,而抽象不依赖于具体实现,更具比较的应该是面向接口与面向抽象对象,我

的体会是面向接口更加灵活,但实现时候,稍微有些代码冗余,而面向抽象可以结合面向接口,先定义接口,再定义抽象类,在抽象类中处理

一些公共逻辑,再实现具体实现类。面向对象是对复杂问题的分解。面向方面的编程是一种新概念,它解决了很多面向对象无法解决的问题,

比如面向对象技术只能对业务相关的代码模块化,而无法对和业务无关的代码模块化。而面向方面正是解决这一问题的方案,它的关键思想是"

将应用程序中的商业逻辑与对其提供支持的通用服务进行分离"。
接口(Interface)是用来定义行为规范的,不会有具体实现,而抽象类除定义行为规范外,可以有部分实现,但一个类能实现多个接口,但只能

程序集包含模块,而模块又包括类型,类型下有成员,反射就是管理程序集,模块,类型的对象,它能够动态的创建类型的实例,设置现有对

象的类型或者获取现有对象的类型,能调用类型的方法和访问类型的字段属性。它是在运行时创建和使用类型实例

这个就像是强弱类型的比较相似,前期绑定是在编译的时候就确定了要绑定的数据,而后期绑定是在运行的时候才填充数据。所以前期绑定如

果失败,会在编译时报编译错误,而后期绑定失败只有在运行时的时候才发生
19) 应用程序,公司考虑使用Windows身份认证。
  所有的用户都存在于AllWin这个域中。您想要使用下列认证规则来配置这个应用程序:
    a、 匿名用户不允许访问这个应用程序。
    b、 所有雇员除了Tess和King都允许访问这个应用程序。
  请问您应该使用以下哪一个代码段来配置这个应用程序?(  A  )
应用程序用于运行AllWin公司内部的Web站点,这个应用程序包含了50个页面。您想要配置这个应用程序以便当发生一个

HTTP代码错误时它可以显示一个自定义的错误页面给用户。您想要花最小的代价完成这些目标,您应该怎么做?(多选)(  CD   )

数据库。每个产品的主键是ProductID,Numeric型并且每个产品有一个字母描述字段,名为ProductName。您使用一个SqlDataAdapter对象和一

个SqlCommand对象通过调用一个存储过程从数据库中获取产品数据。您将SqlCommand对象的CommandType属性设置为

我要回帖

更多关于 嵌入线程中的窗体 的文章

 

随机推荐