2013-04-08 1 views
0

Je devolop une application avec dotras dll. Dans l'application mon objectif principal est de se connecter à Internet avec un modem USB 3g. J'ajoute mon code ci-dessous:DotRas exception d'accès non autorisé lors de l'ajout d'un annuaire

RasPhoneBook book = new RasPhoneBook(); 
    book.Open(); 
    dialer = new RasDialer(); 
    dialer.StateChanged += new EventHandler<StateChangedEventArgs> (dialer_StateChanged); 
    RasDevice device = RasDevice.GetDeviceByName("ZTE", RasDeviceType.Modem); 
    RasEntry entry = RasEntry.CreateDialUpEntry("MyEntry", "*99#", device); 
    entry.EncryptionType = RasEncryptionType.Optional; 
    entry.Options.ModemLights = true; 
    entry.NetworkProtocols.IP = true; 
    entry.NetworkProtocols.Ipx = false; 
    book.Entries.Add(entry); 
    dialer.PhoneBookPath = book.Path; 
    dialer.EntryName = "MyEntry"; 
    dialer.Dial(); 

Quand j'ai essayé d'ajouter le répertoire de mon entrée, il est de retour une exception:

UnauthorizedAccessException was Unhandled 

L'appelant ne dispose pas nécessaire l'autorisation d'effectuer l'action demandée.

Je suis nouveau à propos de DotRas. Alors, quelles permissions faut-il ajouter une entrée dans le répertoire?

Des idées?

Répondre

2

J'ai trouvé la réponse. La raison pour laquelle j'ai besoin d'élever les privilèges pour l'application est due à l'application ouvrant le répertoire téléphonique de tous les utilisateurs. Cela est indiqué par mon appel à book.Open()

Si vous avez rencontré un problème de ce type, rappelez-vous que vous pouvez toujours stocker le répertoire à côté de votre application, ce qui supprimera le besoin d'élever les autorisations.

Le code doit être:

  RasPhoneBook book = new RasPhoneBook(); 
      book.Open(".\\MyAppPhoneBook.pbk"); 
+0

Je voulais juste ajouter, si vous stockez le répertoire à côté de l'application que vous ne serez pas en mesure de stocker les informations d'identification qui peuvent être partagées à tous les utilisateurs. Les emplacements personnalisés permettent uniquement de stocker les informations d'identification par utilisateur. –

Questions connexes