2009-09-18 7 views
1

J'utilise le gestionnaire de licence de Reprise RLM pour l'activation d'Internet. Je n'arrive pas à comprendre comment obtenir le fichier de licence du serveur web dans un fichier texte avec C# (je suis aussi très nouveau en C#). RLM est livré avec un exemple en C++ mais je ne peux pas le traduire.Lire le fichier de licence de RLM avec C# (traduction C++ vers C#)

Mon code (pour la démo) ressemble à ceci:

int stat = RLM.rlm_act_request(handle, "http://www.reprisesoftware.com", "rlmactdemo", activationKey, "", "", 1, "", new byte[RLM.RLM_MAX_LINE+1]); 
if (stat == 0||stat == 1){ 
    //Successful connection 
    //Read license file and write to local machine 
} 

rlm_act_request établit et vérifie la connexion. Une fois qu'il est établi, comment puis-je accéder au fichier et écrire un fichier local?

Le code C++ pour tout ce qui va dans cette instruction if est la suivante:

char name[100]; 
char license[100]; 
int try; 
FILE *f, *fopen(); 
stat = 1; 

for (try=0; try<100; try++) 
{ 
    sprintf(name, "a%d.lic", try); 
    f = fopen(name, "r"); 
    if (f == (FILE *) NULL) 
    { 
     f = fopen(name, "w"); 
     if (f) 
     { 
      fprintf(f, "%s\n", license); 
      fclose(f); 
      break; 
     } 
     else 
     { 
      printf("Error writing license file \"%s\"\n", name); 
      stat = -1; 
      break; 
     } 
    } 
} 

Quel est le C# équivalent?

Répondre

1

Eh bien, c'était étonnamment facile. Il s'avère que le 'new byte []' qui passe à rml_act_request() contient le contenu du fichier de licence. Tout ce que j'avais à faire était d'en faire une variable locale, de la convertir en chaîne et de l'écrire dans un fichier en utilisant TextWriter.WriteLine();

Je souhaite que cela ait été documenté quelque part ...