Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从串行端口c#asp.net读取输入?_Asp.net_C# 4.0_Serial Port - Fatal编程技术网

从串行端口c#asp.net读取输入?

从串行端口c#asp.net读取输入?,asp.net,c#-4.0,serial-port,Asp.net,C# 4.0,Serial Port,你好,我有一个PIC16F877A微控制器和Lcd显示屏。我已经让PIC控制器每2分钟在LCD屏幕上显示一次随机数字,它还通过RS232电缆每2分钟将随机生成的数字发送到我的笔记本电脑。我正在使用ASP.NET 4 C#创建一个网站,在那里我想阅读这些数字并执行一些功能。我已经写了以下代码,但它不起作用,但我在我的笔记本电脑超级终端接收到这些随机数。请建议我如何实现这一点-我必须每2分钟收到这些代码 using System; using System.Collections.Generic;

你好,我有一个PIC16F877A微控制器和Lcd显示屏。我已经让PIC控制器每2分钟在LCD屏幕上显示一次随机数字,它还通过RS232电缆每2分钟将随机生成的数字发送到我的笔记本电脑。我正在使用ASP.NET 4 C#创建一个网站,在那里我想阅读这些数字并执行一些功能。我已经写了以下代码,但它不起作用,但我在我的笔记本电脑超级终端接收到这些随机数。请建议我如何实现这一点-我必须每2分钟收到这些代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO.Ports;

public partial class Entercode : System.Web.UI.Page
{
    static SerialPort mySerialPort = new SerialPort("COM46", 1200, Parity.None, 8,     StopBits.One);
    protected void Page_Load(object sender, EventArgs e)
    {
        mySerialPort.Open();
        String str = mySerialPort.ReadLine();
        mySerialPort.Close();

    }
}

我建议重新设计你的程序

ASP.NET被设计成无状态(因为它是基于HTTP的)。ASP.NET主机进程(w3wp.exe)可以在没有警告的情况下随意终止和回收。如果需要可靠性,应在专用Windows服务进程中执行串行端口通信,该进程通过某种形式的IPC与ASP.NET应用程序通信

使用页面加载是非常不合适的,更不用说非常不线程安全了。
.Close
方法相当于调用
.Dispose
,这会破坏将SerialPort作为静态成员(在其生命周期结束时)的功能


我知道你对ASP.NET或IO端口编程都不熟悉。我建议您分别在这两个方面磨练自己的技能(即先开发一个命令行串行端口程序,然后开发一个不使用串行端口的简单ASP.NET web应用程序),然后在您在这两个方面都很强后再将它们结合起来。

您好,我对这两种语言都不熟悉。但是我是一名电子专业的学生,所以我不需要学习ASP.NET的完整章节。我希望此代码暂时用于检查我的应用程序。所以你能建议我用什么代码来代替这个吗?它们不是语言。C#是语言,ASP.NET是平台。无论如何,完全抛弃ASP.NET,只开发一个控制台应用程序。