Я занимаюсь разработкой на своем локальном компьютере с использованием VS 2010 и запускаю свой dev-код в Cassini, я также взял копию того же кода и развернул ее в c: \ mp и настроил веб-приложение в IIS7 так, чтобы он указывал в этот каталог.
Оба приложения указывают на разные базы данных. Я получаю доступ к IIS один http://localhost/mp
Когда я вхожу в один из них, это приводит к тому, что я выхожу из другого, если я уже вошел в систему.
У меня такое чувство, что это связано с аутентификацией форм, которые мы используем, и, возможно, с перезаписью cookie, но я пока не нашел ничего полезного.
Настройка проверки подлинности форм выглядит следующим образом
<authentication mode="Forms">
<forms name="MP" loginUrl="~/login.aspx" protection="All" timeout="20" path="/" slidingExpiration="true" cookieless="UseCookies" defaultUrl="~/Modules/Enquirer/Default.aspx" />
</authentication>
Мы также используем роли и поставщиков членства
<roleManager enabled="true" cacheRolesInCookie="true" defaultProvider="AspNetSqlRoleProvider">
<providers>
<clear />
<add name="AspNetSqlRoleProvider" connectionStringName="mpconnectionstring" applicationName="mp" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
</roleManager>
<membership defaultProvider="AspNetSqlMembershipProvider" userIsOnlineTimeWindow="20" hashAlgorithmType="SHA1">
Мы также используем состояние сеанса inProc для обоих, хотя я не уверен, что это будет проблемой.
Кто-нибудь может подсказать, почему это происходит и как обойти это?