Установка виртуального каталога при использовании IIS для ASP.NET отладка MVC

Основная проблема, с которой вы столкнулись, заключается в том, что вы не можете использовать отдельные указатели для strtol (ptr, &endptr, 2), которые затем позволят вам работать со всеми значениями, содержащимися в chter. Во-вторых, вы рискуете неопределенным поведением, потенциально читая 1000 символов, где chter будет содержать только 500. В-третьих, вам нужно правильно проверить результаты преобразования strtol, проверив (1), были ли преобразованы цифры; и (2) произошло ли переполнение / невыполнение путем проверки errno.

Собрав их вместе, вы можете сделать:

#include <errno.h>
...
if (fr != NULL) //see if file opens or not
{
    char chter[500];    //char to get string from text
    char *ptr = chter;  /* assign chter to the pointer */
    char *endptr;       /* separate end-pointer for strtol */

    fgets(chter, sizeof chter, fr); /* properly limit read size */

    printf("%s", chter); //prints current text to cmd from textfile
    puts("\n");

    errno = 0;                      /* set errno zero */
    while (*ptr && *ptr != '\n')    /* loop over all values */
    {           
        long li1 = strtol (ptr, &endptr, 2);    /* convert to long */
        if (ptr == endptr) {        /* validate digits converted */
            fputs ("error: no digits converted.\n", stderr);
            /* handle error */
            break;
        }
        else if (errno) {           /* validate no over/underflow */
            perror ("strtol-conversion_failed");
            /* handle error */
            break;
        }
        printf (" %ld", li1);       /* output value */
        ptr = endptr;               /* advance pointer */
    }
    // puts("\n");
    putchar ('\n');     /* use putchar for single-char output */

    fclose(fr);
}

(примечание : не скомпилировано, поэтому оставьте заметку, если у вас есть проблемы)

11
задан ycseattle 4 May 2009 в 17:51
поделиться

5 ответов

Да, вы можете запустить ASP.NET MVC в качестве корневого приложения.

Просто используйте диспетчер IIS, чтобы установить домашний каталог веб-сайта для пути вашего приложения.

Затем внесите соответствующие изменения на вкладке «Веб» настроек вашего проекта для MVC в Visual Studio.

Предполагается, что у вас уже правильно настроены разрешения для файлов Windows для IIS.

2
ответ дан 3 December 2019 в 11:04
поделиться

Вы говорите, что

предполагается, что приложение ASP.NET MVC запускается из корневого каталога, а MVC будет анализировать «myapp» как контроллер

. Однако возможно Запустите ASP.NET MVC из виртуального каталога, добавив сопоставление с подстановочными знаками, как описано в этой статье:

ASP.NET MVC в IIS 6 Пошаговое руководство

См. также этот вопрос здесь о stackoverflow и принят ответ , в котором описаны шаги, предпринятые для решения аналогичной проблемы:

ASP.NET MVC Как использовать маршруты, когда приложение публикуется как подпроект домена?

2
ответ дан 3 December 2019 в 11:04
поделиться

Вы также можете использовать Debug-> Attach to Process из Visual Studio вместо Start Debugging.

Присоединитесь к aspnet_wp.exe, и вы сможете отлаживать свое приложение MVC независимо от независимо от того, находится он в виртуальном каталоге.

1
ответ дан 3 December 2019 в 11:04
поделиться

Перейдите к свойствам вашего веб-сайта (в меню «Проект»). Выберите вкладку «Интернет» внизу и введите то же имя виртуального каталога, которое вы используете в IIS, в поле виртуального пути. Это может решить вашу проблему

1
ответ дан 3 December 2019 в 11:04
поделиться

Перезапись URL-адресов может помочь вам решить проблему. Реализовал решение, позволяющее развернуть приложение MVC в любой версии IIS даже при использовании виртуального хостинга. http://www.codeproject.com/KB/aspnet/iis-aspnet-url-rewriting.aspx

1
ответ дан 3 December 2019 в 11:04
поделиться
Другие вопросы по тегам:

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