2010-05-10 93 views
0

我这篇文章发送SMS这是一个WinForm应用程序下面..我引用的所有DLL的到我的asp.net应用程序.....COM端口不能在asp.net打开

我使用aspx页面检测连接到PC的移动设备.....但alwys显示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); 
     } 
    } 
} 

编辑:

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

我已经测试WinForm应用程序,它工作正常...

这就是答案?

ASP.NET页面应该工作。 发生在这里的是 当您单击open_com按钮时, ASP.NET页面回发到自身, 执行事件处理程序,即打开 端口。然后当页面结束 处理回发时,它卸载了 。此时COM1 对象也被销毁。

+2

您确实知道该代码在_server_上运行,对不对? – 2010-05-10 07:14:48

+0

@亨克亚我知道..但它的本地机器然后它应该检测我的设备....我没有托管我的应用程序在服务器上......它将被只有一台客户端机器使用... – 2010-05-10 07:17:07

回答

2

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

也尝试首先在控制台应用程序中测试您的示例。

0

这是最有可能的权限。

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

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

+0

如何更改为管理员用户?任何建议? – 2010-05-10 09:49:18