작업 중 문제 해결 - (win 2003 asp. net) Session 과 페이지 전송 방법 으로 해결 방안 을 정상적으로 사용 할 수 없습니다.

9833 단어 asp.net
회사 BP & IT 프로젝트 팀. 지난달 에 설립 되 었 을 때 부터 BP & IT 소프트웨어 를 개발 하기 시작 했다. 이번 달 부터 나의 비 극적인 발견 을 테스트 하기 시작 했다. 그 는 내 컴퓨터 의 IE 를 전혀 지지 하지 않 는 다 는 것 을 알 게 되 었 다. 보름 이 넘 도록 해결 되 지 않 았 다.
원인 을 분석 해 보 겠 습 니 다. http://hr.bingjun.cc/
로그 인 후 사이트 주소 표시 http://hr.bingjun.cc/(F(0-MEj-fnv8v-hWRGI2rOhfQ_0SZjQAnMEBs5P1DKcEhwdX-TTu8TAZ_H6HVGorBM-TaTm4zK_DCSdO8gvqOXWCoou4YJIVziHJ1PC9hke7w1))/Default.aspx
모든 웹 페이지 의 임의의 링크 를 클릭 하 십시오. 
키 레 퍼 러 http://hr.bingjun.cc/MyTask/MyTaskPage.aspx
302 만 http://hr.bingjun.cc/
 
인터넷 주소http://hr.bingjun.cc/(F(0-MEj-fnv8v-hWRGI2rOhfQ_0SZjQAnMEBs5P1DKcEhwdX-TTu8TAZ_H6HVGorBM-TaTm4zK_DCSdO8gvqOXWCoou4YJIVziHJ1PC9hke7w1))/Default.aspx
분석 해 보면 쉽게 발견 할 수 있 습 니 다. 이것 은 쿠키 없 는 모드 를 사용 하 는 사이트 링크 입 니 다. 또한 F 는 처음에 우리 의 BP & IT 프로젝트 팀 이 Forms 폼 검증 을 사용 했다 고 판단 할 수 있 습 니 다.
페이지 를 뛰 어 넘 는 것 은http://hr.bingjun.cc/MyTask/MyTaskPage.aspx쿠키 URL 이 없 는 페이지 가 없 으 면 쿠키 를 잃 어 버 리 고 쿠키 에 의존 하 는 세 션 과 로그 인 상 태 는 더욱 다 릅 니 다.
왜 페이지 가 넘 어 갔 는데 Cookie URL 을 안 가 져 왔어요? 코드 가 서버 경 로 를 사용 하지 않 아서 그런 것 같 아 요. "~ /" 서버 경 로 를 사용 해 야 ASP. NET 이 자동 으로 도와 주 는 것 같 아 요. CookieUrl 세그먼트 가 져 왔어요.
발견 즉시 BP & IT 프로젝트 팀 에 왜 제 IE 11 은 내부 사 이 트 를 사용 할 수 없 는 지 물 어보 세 요.
그 렇 군요. 제 가 알 고 있 는 지식 으로 이 문 제 를 일 으 킬 수 있 는 버그 는 ASP. NET 에서 IE 11 을 쿠키 없 는 브 라 우 저 로 인식 한 것 같 습 니 다.
그러면 해결 방법 이 굉장히 많아 요. 일단 서버 레벨 부터.
ASP. NET 식별 브 라 우 저가 쿠키 가 없 는 지 아 닌 지 는 알 고 있 습 니 다.
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\Browsers
이 디 렉 터 리 를 열 면 아래 에 많은 파일 이 있 습 니 다. 이것 이 바로 ASP. NET 브 라 우 저 를 식별 하 는 라 이브 러 리 입 니 다. ie. browser 를 열 었 습 니 다.
하나 추가 브 라 우 저 설정 노드
 
<browser id="IE11" parentID="Mozilla">

        <identification>

          <userAgent match="Trident\/7.0; rv:(?'version'(?'major'\d+)(\.(?'minor'\d+)?)(?'letters'\w*))(?'extra'[^)]*)" />

          <userAgent nonMatch="IEMobile" />

        </identification>

        <capture>

        <userAgent match="Trident/(?'layoutVersion'\d+)" />

       </capture>

       <capabilities>

         <capability name="browser"              value="IE" />

         <capability name="layoutEngine"         value="Trident" />

         <capability name="layoutEngineVersion"  value="${layoutVersion}" />

         <capability name="extra"                value="${extra}" />

         <capability name="isColor"              value="true" />

         <capability name="letters"              value="${letters}" />

         <capability name="majorversion"         value="${major}" />

         <capability name="minorversion"         value="${minor}" />

         <capability name="screenBitDepth"       value="8" />

         <capability name="type"                 value="IE${major}" />

         <capability name="version"              value="${version}" />

       </capabilities>

     </browser>

이렇게 하면 이 서버 의 v 4.0.30319 버 전의 모든 사이트 에서 이 문 제 는 해 결 된 셈 이다.
 
2 BP & IT 는 서버 에서 프로필 을 바 꾸 는 해결 방법 을 찾 았 다 고 했 어 요. 서버 에 사이트 가 너무 많아 서 무 너 질 까 봐.
ASP. NET Config 프로필 사이트 의 모든 것 을 추가 하거나 덮어 쓸 수 있 는 것 을 모 르 십 니까?(PS: 위 에 있 는 그 경로 의 Config 아래 는 모두 전역 설정 입 니 다)
덮어 쓸 수 있 으 니까 프로젝트 에 브 라 우 저 파일 을 새로 만 들 면 되 잖 아 요. 브 라 우 저 파일 을 새로 만 드 는 방법 에 대해 서 는 제 가 말 하지 않 아 도 되 겠 죠?
3. 이것 도 귀 찮 거나 나중에 비슷 한 인식 되 지 않 는 브 라 우 저 가 생 길 까 봐 cookieless 값 을 수정 하 세 요.
웹. config 를 열 어 System. web 의 노드 를 추가 하거나 수정 합 니 다.
<sessionState mode="InProc" cookieless="UseUri" customProvider="DefaultSessionProvider">

      <providers>

        <add name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" />

      </providers>

    </sessionState>

    <authentication mode="Forms">

      <forms cookieless="UseUri" loginUrl="~/Account/Login" timeout="2880" defaultUrl="~/" />

    </authentication>

배치 하 다. cookieless = "UseCookies" 이것 도 모든 브 라 우 저 는 브 라 우 저가 쿠키 를 지원 하 든 지원 하지 않 든 URLCookie 가 아 닌 브 라 우 저 쿠키 를 사용 합 니 다.
여기까지 오 면 나 도 별로 차이 가 없 을 것 같다.
PS: IE 11 출현 -doPost Back 정의 되 지 않 은 것 도 브 라 우 저가 인식 하지 못 하 는 문제 입 니 다. 하지만 브 라 우 저가 쿠키 를 인식 하지 못 한다 고 생각 하 는 것 이 아니 라 자 바스 크 립 트 를 지원 하지 않 는 다 고 생각 합 니 다.
<capability name="javascript"           value="true" />  

<capability name="cookies"              value="true" />

(PS: 자 바스 크 립 트 를 지원 하지 않 는 브 라 우 저 를 본 적 이 있 습 니까? 저 는 본 적 이 없습니다. 이 마이크로소프트 는... 모 르 겠 습 니 다! 기본적으로 청 두 가 얼마나 지원 하 는 지 지원 하지 않 고 프로필 을 쓰 는 것 이 좋 지 않 습 니까?)
 기술 교류 군

좋은 웹페이지 즐겨찾기