对端口Com1的访问被拒绝

某项目中,需通过com口的方式读取CF卡的rfid,。

问题:当我关闭模块,然后第二次打该模块时,弹出如下错误”对端口Com1的访问被拒绝”(编程这一行业,不是找不到对象,就是被xxx拒绝!):

断点调试:在用户控件Loaded事件尝试打开Com口时出现异常:对端口Com1的访问被拒绝”。

最后找到原因及解决方法:

加载用户控件时打开了com口,关闭模块时同时也该关闭com口,但是用户控件没有Closing或Closed事件,咋办呢?于是我用了UnLoaded事件解决了这个问题,反复打开关闭模块,不再出现”访问com口被拒绝”这个错误:

UnLoaded事件:

关闭Com口:

总结:WPF之Window.Closing 、Window.Closed、FrameworkElement.Unloaded

三则的区别:

Window.Closing 事件 :在调用 Close 之后立即发生,并且可进行处理以取消关闭窗口。

可以处理 Closing 来检测窗口何时关闭(例如,何时调用 Close)。此外,可以使用 Closing 来阻止窗口关闭。若要阻止窗口关闭,可以                                            将CancelEventArgs 参数的 Cancel 属性设置为 true

当调用 Close、单击窗口的“关闭”按钮,将引发 Closing 事件。

代码示例:

   private void Window_Closing(object sender, CancelEventArgs e)

        {

            if (this.IsLoaded)

            {

                MessageBoxResult result = MessageBox.Show("是否退出程序?", "提示", MessageBoxButton.YesNo, MessageBoxImage.Question);

                if (result == MessageBoxResult.Yes)

                {

                    //do something to record the shutdown event

                    DateTime shutDownDt = DateTime.Now;

                }

                else

                {

                    e.Cancel = true;

                }

            }

        }

Window.Closed 事件:在窗口即将关闭时发生。

                                 一旦引发此事件,就无法阻止窗口关闭。

FrameworkElement.Unloaded事件:当从加载的元素的元素树中移除元素时发生。

在某些情况下是不会被触发的。比如说:Window在Closing的时候,是不会去触发它的子元素的Unloaded 事件。

Loaded和UnLoaded和UI有关。Closing和窗体本有关。

比如下窗口初始化的时候,如果窗口是隐藏的,那么Loaded是不会触发的。

因为它只在这个控件开始Visible的时候触发。同理,UnLoaded也是。

时间: 2024-10-06 14:26:10

对端口Com1的访问被拒绝的相关文章

Linux CentOS7 开启80,443端口外网访问权限

一.查看系统防火墙状态(如果返回 running 代表防火墙启动正常) 1 firewall-cmd --state 二.开启端口外网访问 1.添加端口 返回 success 代表成功(--permanent永久生效,没有此参数重启后失效) 1 firewall-cmd --zone=public --add-port=80/tcp --permanent 2 firewall-cmd --zone=public --add-port=443/tcp --permanent 3 4 开放多个端口

设置端口转发来访问Virtualbox里linux中的网站

上一篇中我们讲到怎么设置virtuabox来通过SSH登录机器. 同样,我们也可以按照上一篇内容中的介绍,设置端口转发,来访问虚拟linux系统已经搭建的网站: 1.设置端口转发: 我们设置本地的8888端口来转发给虚拟机的80端口. 虚拟机中的网站简单结构如下: [email protected]:/var/www/php# ll /var/www/php/test.php -rw-rw-r-- 1 zhiguo zhiguo 217 Apr 12 20:59 /var/www/php/tes

对消息队列系统的访问被拒绝

设置消息队列的账户权限没用[Everyone,Anonymous],给everyone控制权限即可. 对消息队列系统的访问被拒绝,布布扣,bubuko.com

Win7升级win10后硬盘(分区)访问被拒绝,无法访问的解决方案

Win7升级win10后硬盘(分区)访问被拒绝,无法访问的解决方案 转载请注明出处:http://blog.csdn.net/aaa123524457/article/details/47306407 昨天终于收到微软的升级win10升级包推送信息,于是就迫不及待的更新了!过程还挺顺利,系统升级好后,本以为会把我的另一个硬盘系统给搞乱,却没想到微软反而给我弄了个看起来非常高大上的双系统启动菜单,而且两个系统都能正常运行(可以看我的另一篇关于升级的备忘). http://blog.csdn.net

使用MSSQL同步&发布数据库快照遇到错误:对路径“xxxxx”访问被拒绝的解决方法

使用MSSQL同步 数据库同步做后后测试:先在同步那台服务器(服务器A)数据库里修改里面数据库,然后再去被同步那台服务器(服务器B)看下数据有没被同步过去 发布数据库快照遇到错误:对路径"xxxxx"访问被拒绝的解决方法 打开SQL Server 配置管理器 -> 在左边栏选择"SQL Server服 务"->在右侧面板中"SQL Server 代理"一行上右击,选择"属性", 在弹出的对话框中选择"内置

无法中止进程无法访问操作拒绝访问

无法中止进程无法访问操作拒绝访问 解决方案:使用360解除占用 任务管理器显示进程路径 找到该进程的路径 右键使用360解除占用 注:此方法有可能会无效,如果谁有更好的方法,请说明,谢谢. 其他方法(在控制台(CMD)窗口通过命令终止),不一定有效 上边的方法显示出进程PID列 打开控制台尝试一下命令(假设908是要结束的PID): Taskkill /PID 908 /F 或者 ntsd –c q –p 908 注:此方法来源于网上,本人尝试无效 GoodLuck

[转载]ASP.NET对路径"xxxxx"的访问被拒绝的解决方法小结

异常详细信息: System.UnauthorizedAccessException: 对路径“D:/temp1/MyTest.txt”的访问被拒绝 在windows 2003下,在运行web应用程序的时候出现一下错误: 服务器无法处理请求,-->对路径“C:/temp/mytest.txt”的访问拒绝 说明: 执行当前 Web 请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: System.UnauthorizedAccess

winserver2003环境发布ASP程序报错(HTTP 错误 403.1 - 禁止访问:执行访问被拒绝)

问题: 在Windows Server 2003 + IIS6.0上布署.Net 2.0网站时发生如下错误: 该页无法显示 您试图从目录中执行 CGI.ISAPI 或其他可执行程序,但该目录不允许执行程序. -------------------------------------------------------------------------------- 请尝试以下操作: 如果您认为该目录应该允许执行访问权限,请与网站管理员联系. HTTP 错误 403.1 - 禁止访问:执行访问被

ASP.NET对路径"xxxxx"的访问被拒绝的解决方法小结

异常详细信息: System.UnauthorizedAccessException: 对路径"D:/temp1/MyTest.txt"的访问被拒绝 在windows 2003下,在运行web应用程序的时候出现一下错误: 服务器无法处理请求,-->对路径"C:/temp/mytest.txt"的访问拒绝 说明: 执行当前 Web 请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: System.