无法在asp.net中打开COM端口

时间:2010-05-10 07:12:16

标签: c# asp.net serial-port

我按照这篇文章发送SMS这是一个winform应用程序..我已将所有Dll引用到我的asp.net应用程序中.....

我使用aspx页面检测连接到PC的移动设备.....但它显示COM 'n' Port could not be opened .....

using SMS;
using GsmComm.GsmCommunication;
using GsmComm.PduConverter;

public partial class _Default : System.Web.UI.Page 
{
    protected void Page_Load(object sender, EventArgs e)
    {
        GsmCommMain comm = new GsmCommMain(6, 9600, 300);
        comm.Open();
        if (!comm.IsConnected())
        {
            Response.Write("No Phone Connected");
        }
        else
        {
            SmsSubmitPdu pdu = new SmsSubmitPdu("test", "+919999999999", "");
            CommSetting.comm.SendMessage(pdu);
        }
    }
}

修改

我使用Visual Studio附带的Web开发服务器...如果转到Control Panel -> Phones & Modems -> Modems我可以看到我的手机在com6中连接...

我已经测试了winform应用程序,它工作得很好......

这是答案吗?

  

ASP.NET页面应该可以工作。   这里发生的事情就是这样   当你点击open_com按钮时,   ASP.NET页面发布回自身,   执行事件处理程序,即打开   港口。然后当页面完成   处理帖子,它是   卸载。此时COM1   对象也被破坏了。

2 个答案:

答案 0 :(得分:2)

您使用的是哪个网络服务器?如果它是Visual Studio附带的Web开发服务器?然后它应该工作。如果您想使用IIS,则需要使用模拟或在具有管理员权限的不同安全上下文中运行ASP.net工作进程。

还要先尝试在控制台应用程序中测试样本。

答案 1 :(得分:0)

这很可能是权限。

除非您使用模拟,否则该网站将作为具有极低权限的ASPnet用户运行。将站点设置为模拟管理员用户,或将站点设置为以高权限用户身份运行。

或者,我的个人推荐,而是使用像http://www.clickatell.com/这样的在线服务来发送和接收短信。这更容易,它更便宜,而且更强大。