2010-05-10 6 views
0

je suit cet article pour envoyer SMS est une application Winform .. J'ai référencé tous les dll à mon application asp.net .....port COM ne peut pas être ouvert en asp.net

J'utilise un page ASPX pour détecter un appareil mobile connecté à un PC ..... Mais il montre 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); 
     } 
    } 
} 

EDIT:

J'utilise le serveur de développement web livré avec Visual Studio ... Si vous y allez à Control Panel -> Phones & Modems -> Modems je pouvais voir mon portable connecté à com6 ...

j'ai testé l'application Winform il fonctionne très bien ...

Est-ce la réponse?

Les pages ASP.NET sont supposées fonctionner. Ce qui se passe ici est que lorsque vous cliquez sur le bouton open_com, la page ASP.NET se publie sur lui-même, exécute le gestionnaire d'événements, c'est-à-dire ouvre le port . Ensuite, lorsque la page se termine en cours de traitement de la publication, il est déchargé. À ce stade, les objets COM1 sont également détruits.

+2

Vous savez que ce code s'exécute sur le serveur, non? –

+0

@Henk ya je sais .. Mais c'est ma machine locale alors il devrait détecter mon appareil .... Je n'héberge pas mon application sur un serveur ... Il sera utilisé par une seule machine client ... –

Répondre

2

Quel serveur web utilisez-vous? Si c'est le serveur de développement Web livré avec Visual Studio? Alors ça devrait marcher. Si vous voulez l'utiliser avec IIS, vous devez utiliser l'emprunt d'identité ou exécuter le processus de travail ASP.net dans un contexte de sécurité différent avec des privilèges d'administrateur.

Essayez également de tester votre échantillon dans une application de console en premier.

0

Il s'agit probablement d'autorisations.

Sauf si vous utilisez l'emprunt d'identité, le site fonctionnera en tant qu'utilisateur ASPnet qui a des privilèges très faibles. Définissez le site pour qu'il emprunte l'identité d'un utilisateur admin ou définissez le site pour qu'il s'exécute en tant qu'utilisateur à privilèges élevés.

Alternativement, et ma recommandation personnelle, plutôt utiliser un service en ligne comme http://www.clickatell.com/ pour envoyer et recevoir des SMS. C'est beaucoup plus facile, c'est moins cher et c'est plus robuste.

+0

comment changer pour l'utilisateur admin? Toute suggestion? –

Questions connexes