Как я могу назвать один веб-сервис, но не другого, в той же папке?

У меня есть два веб-сервиса, старой школы, asmx. Оба находятся в той же sub папке, которые имеют анонимную аутентификацию в веб-приложении MVC, которые имеют аутентификацию Windows.

Когда я просматриваю один из них, я получаю ожидаемый результат, я могу Вызвать сервис, но когда я просматриваю другой, я получаю "Ошибку HTTP 401.2 - Несанкционированный, Вы не разрешены просмотреть эту страницу из-за недопустимых заголовков аутентификации"..

Я затем переименовываю второй, и все хорошо работает. Даже если я удаляю второй asmx файл, я становлюсь Лишенным полномочий вместо "Ресурса, не найденного".

Я искал реестр и файловую систему для ссылок на имя файла, но ничего не нахожу. Я удалил ASP.NET Временные Файлы, но это не помогло.

Какие-либо рекомендации по устранению отказов?

0
задан 5 March 2015 в 15:34
2 ответа

Это было нелегко найти, но в inetpub \ temp \ appPools \ была папка с именем пул приложений. В этой папке есть «копии» частей конфигурации IIS.

В какой-то момент мы должны были случайно пометить фактический файл asmx вместо папки, когда мы изменили аутентификацию. Таким образом, он содержал специальный раздел конфигурации только для файла. Например:

<location path="Web/Services/ServiceName.asmx">
    <system.webServer>
        <security>
            <authentication>
                <anonymousAuthentication enabled="false" />
            </authentication>
        </security>
    </system.webServer>
</location>

Когда мы удалили этот раздел, он снова заработал :)

0
ответ дан 5 December 2019 в 12:55

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

В конфиг-файле пула приложений была поддельная запись, где

Мое решение, устанавливает anonymousAuthentication = "True"

Интересно, не является ли это маленькой ошибкой в IIS, где эта часть конфига по каким-то причинам игнорируется.

0
ответ дан 5 December 2019 в 12:55

Теги

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