Странное кеширование веб-сайта IIS asmx - PullRequest
0 голосов
/ 17 июня 2020

Я заметил какое-то странное поведение в IIS
Я думаю, что это, вероятно, связано с каким-то кешем в IIS

У меня есть веб-сайт api, и есть метод для входа в

http://myapi.loc/api/login.asmx/GetSessionID?userId=qqqqqq&password=wwwwww&company=eeeeee&plant=rrrrrr&pool=tttttt

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

Я изменил пароль для этого пользователя через интерфейс администратора.
после этого я попытался войти с новым паролем

http://myapi.loc/api/login.asmx/GetSessionID?userId=qqqqqq&password=newpassword&company=eeeeee&plant=rrrrrr&pool=tttttt

и все еще была ошибка, что срок действия пароля истек. это странно.
после этого я открыл C# код для этого метода. добавил пробел и сохранил файл.
после того, как этот пользователь успешно вошел в систему. это очень странно.

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

веб-конфигурация:

<?xml version="1.0"?>
<!--
  For more information on how to configure your ASP.NET application, please visit
  http://go.microsoft.com/fwlink/?LinkId=169433
  -->
<configuration>
  <system.web>
    <customErrors mode="Off" />
    <compilation debug="true" targetFramework="4.7"/>
    <httpRuntime targetFramework="4.7" requestValidationMode="2.0"/>
    <webServices>
      <protocols>
        <add name="HttpGet"/>
        <add name="HttpPost"/>
      </protocols>
    </webServices>
    <pages validateRequest="false" />
  </system.web>
  <system.serviceModel>
    <bindings/>
    <client/>
  </system.serviceModel>
  <system.webServer>
    <directoryBrowse enabled="true"/>
    <httpProtocol>
      <customHeaders>
        <add name="Access-Control-Allow-Headers" value="accept, content-type" />
        <add name="Access-Control-Allow-Origin" value="*"/>
        <add name="Access-Control-Allow-Methods" value="POST, GET, OPTIONS" /> 
      </customHeaders>
    </httpProtocol>
  </system.webServer>
</configuration>
...