Как узнать, под какой учетной записью мой код ASP.NET работает?

Вам нужно будет отсканировать файл на наличие "\\" или "\*" в любом месте кода, который указывает комментарий ( Следовательно, как вы обнаружили комментарий) в вашем коде ), игнорируйте их, а затем проверьте, где они оканчиваются на '\n' и "*/" соответственно и продолжайте писать оттуда ...

#include 
#include 

int main(void) {
    FILE * file;
    FILE * output;
    if (fopen_s(&file, "some_src.c", "r") != 0) {
        fprintf(stderr, "File reading failure!");
        return 1;
    }
    if (fopen_s(&output, "preprocess_output.c", "w") != 0) {
        fprintf(stderr, "File writing failure!");
        return 1;
    }
    int comment = 0;
    char prev_ch, ch;
    for (prev_ch = fgetc(file), ch = fgetc(file); ch != EOF; prev_ch = ch, ch = fgetc(file)) {
        if (comment == 0 && prev_ch == '/')
        {
            if (ch == '/')
                comment = 1;
            else if (ch == '*')
                comment = 2;
        }
        if (comment == 0)
            fprintf(output, "%c", prev_ch);
        if (comment == 1 && prev_ch != '\\' && ch == '\n')
            comment = 0;
        if (comment == 2 && prev_ch == '*' && ch == '/')
        {
            ch = fgetc(file);
            comment = 0;
        }
    }
    if (comment == 0)
        fprintf(output, "%c", prev_ch);
    fclose(file);
    fclose(output);
    return 0;
}

Примечание: Поскольку многие отмечали, почему я использовал \ слэши в коде вместо /, попробуйте это Demo kbd> чтобы узнать почему?

blockquote>

15
задан mdb 9 November 2008 в 11:19
поделиться

3 ответа

Узнать, какие NT считают Ваше приложение, работает под в любой момент времени, сделайте что-то как (в VB.NET):

    Dim User = System.Security.Principal.WindowsIdentity.GetCurrent.User
    Dim UserName = User.Translate(GetType(System.Security.Principal.NTAccount)).Value

При использовании ASP.NET, эта учетная запись будет соответствовать идентификационным данным пула приложений, который Вы настраиваете использование менеджер по IIS. Обратите внимание, что анонимный пользователь IIS не очень связан с запросами ASP.NET.

13
ответ дан 1 December 2019 в 01:54
поделиться

Вы могли использовать этот код:

C#

Response.Write("Windows Account which runs ASP.NET is: " 
   + Environment.Username);

VB.NET

Response.Write("Windows Account which runs ASP.NET is: " _
   & Environment.Username)

при запуске приложения в Visual Studio на ПК (localhost), Вы получите свое имя пользователя. При развертывании веб-приложения ASP.NET на IIS Вы, вероятно, получите учетную запись СЕТЕВОЙ СЛУЖБЫ, потому что это - пользователь по умолчанию рабочий IIS 6.0 (ASPNET на 2000-х IIS 5.0 Windows Server).

Environment.UserName возвраты в настоящее время зарегистрированный пользователь потока. Page.User возвраты имя, которое ASP.NET проверяет посредством Аутентификации и этого пользователя в большинстве случаев, независимо от входа в систему Windows, который выполняет текущий поток. Для анонимных запросов Page. Пользователь является пробелом, в то время как Среда. Пользователем будет СЕТЕВАЯ СЛУЖБА.

Как mdb правильно указывает в комментарии на этот ответ, Среду. Имя пользователя просто возвратит переменную среды ИМЕНИ ПОЛЬЗОВАТЕЛЯ, которая установлена на создании процесса и не обновлена в случае олицетворения и такого.

8
ответ дан 1 December 2019 в 01:54
поделиться

Код C # для ответа vb.net

var user = System.Security.Principal.WindowsIdentity.GetCurrent().User;
var userName = user.Translate(typeof (System.Security.Principal.NTAccount));
14
ответ дан 1 December 2019 в 01:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: