Чтение файла лицензии из RLM с C # (перевод с C ++ на C #) - PullRequest
1 голос
/ 18 сентября 2009

Я использую менеджер лицензий Reprise RLM, исследующий интернет-активацию. Я не могу понять, как получить файл лицензии с веб-сервера в текстовый файл с C # (я также очень плохо знаком с C #).

RLM поставляется с примером на C ++, но я не могу его перевести.

Мой код (для демонстрации) выглядит так:

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 устанавливает и проверяет соединение. Как только он установлен, как мне получить доступ к файлу и записать его в локальный файл?

Код C ++ для всего, что входит в это утверждение if, выглядит следующим образом:

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

Что такое эквивалент C #?

1 Ответ

1 голос
/ 18 сентября 2009

Ну, это было удивительно легко. Оказывается, что 'новый байт []', который получает проходы к rml_act_request (), содержит содержимое файла лицензии. Все, что мне нужно было сделать, это сделать его локальной переменной, преобразовать его в строку и записать в файл, используя TextWriter.WriteLine ();

Хотелось бы, чтобы это было где-то задокументировано ...

...