Доступ к статическому содержанию проекта MVC ASP.NET с IIS7

Ленивая загрузка версии
import pprint
pprint.pprint(list(chunks(range(10, 75), 10)))
[range(10, 20),
 range(20, 30),
 range(30, 40),
 range(40, 50),
 range(50, 60),
 range(60, 70),
 range(70, 75)]

Сопоставьте результат этой реализации с примером результата использования принятого ответа . sup>

Многие из вышеперечисленных функций предполагают, что длина всей итерируемой заранее известна или, по крайней мере, является дешевой для вычисления.

Для некоторых потоковых объектов это означало бы сначала загрузку полных данных в память (например, загрузку всего файла) для получения информации о длине.

Если вы еще не знаете полный размер, вы можете использовать этот код вместо этого:

def chunks(iterable, size):
    """
    Yield successive chunks from iterable, being `size` long.

    https://stackoverflow.com/a/55776536/3423324
    :param iterable: The object you want to split into pieces.
    :param size: The size each of the resulting pieces should have.
    """
    i = 0
    while True:
        sliced = iterable[i:i + size]
        if len(sliced) == 0:
            # to suppress stuff like `range(max, max)`.
            break
        # end if
        yield sliced
        if len(sliced) < size:
            # our slice is not the full length, so we must have passed the end of the iterator
            break
        # end if
        i += size  # so we start the next chunk at the right place.
    # end while
# end def

Это работает, потому что команда slice вернет меньше / нет элементов, если вы передали конец итерируемый:

"abc"[0:2] == 'ab'
"abc"[2:4] == 'c'
"abc"[4:6] == ''

Теперь мы используем этот результат среза и вычисляем длину этого сгенерированного фрагмента. Если это меньше, чем мы ожидаем, мы знаем, что можем закончить итерацию.

Таким образом, итератор не будет выполняться без доступа.

5
задан pupeno 23 June 2009 в 19:02
поделиться

3 ответа

Проблема заключалась в разрешениях. Несмотря на то, что при создании веб-сайта IIS7 я сказал ему получить доступ к файлам как мой пользователь (в противном случае он не работал бы вообще), для статического файла он использовал пользователя пула приложений. Предоставление доступа к IIS APPPOOL \ MyApplication к папке, в которой мой проект был исправлен.

5
ответ дан 14 December 2019 в 01:14
поделиться

Попробуйте перейти на http: // localhost: 8080 /../ .. /Content/Site.css, не уверен, соответствует ли ваш исходный URL маршруту.

Хотя это не совсем вопрос программирования.

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

Как насчет

routes.RouteExistingFiles = true;

в вашем Global.asax?

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

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