2010-05-10 88 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