Domanda

Sto utilizzando il gestore delle licenze Reprise RLM per la ricerca dell'attivazione di Internet. Non riesco a capire come ottenere il file di licenza dal server web in un file di testo con C # (sono anche molto nuovo in C #).

RLM viene fornito con un esempio in C ++ ma non riesco a tradurlo.

Il mio codice (per la demo) è simile al seguente:

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 stabilisce e verifica la connessione. Una volta stabilito, come posso accedere al file e scriverlo in un file locale?

Il codice C ++ per qualunque cosa accada, se l'istruzione è la seguente:

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;
        }
    }
}

Qual è l'equivalente in C #?

È stato utile?

Soluzione

Beh, è ??stato sorprendentemente facile. Si scopre che il 'nuovo byte []' che viene passato a rml_act_request () contiene il contenuto del file di licenza. Tutto quello che dovevo fare era renderlo una variabile locale, convertirlo in stringa e scriverlo in file usando TextWriter.WriteLine ();

Vorrei che questo fosse stato documentato da qualche parte ...

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top