2010-04-09 3 views
1

나는 웹 사이트에서 링크를 제공합니다. 링크를 클릭하면 컨트롤러 액션 메서드가 호출되어 zip 파일을 만든 후 zip 파일을 생성합니다. 링크를 눌러 zip 파일을 다운로드하는 링크를 표시하고 zip을 다운로드하여 zip 파일을 다운로드 할 수 있습니다.jquery post 메서드를 사용하여 asp.net mvc 액션 메서드를 호출하면 세션이 만료됩니다.

문제는 zip 파일 만들기가 끝나고 링크가 표시되면 사용자가 링크를 클릭하여 zip 파일을 다운로드하면 로그인하게됩니다. 로그인 페이지에서 올바른 자격 증명을 제공하면 zip 파일을 다운로드하라는 메시지가 나타납니다. 로그인 페이지로 보내지 않아야합니다. zip 파일을 생성하는 작업에서 세션을 취소하지 않았거나 세션을 취소하지 않은 작업을 수행하지 않았습니다.

사용자는 로그인하지 않아도됩니다. zip 파일을 성공적으로 만든 후에는 로그인하지 않고 파일을 다운로드 할 수 있어야합니다.

나는 인터넷에서이 문제를 검색하지만 해결책을 찾지 못했습니다. hanselman이 쓴 블로그에서 세션과 관련된 문제를 만드는이 문장을 발견했습니다 : Ajax 호출이나 IE의 Content Advisor가 기본 페이지 나 로그인 페이지를 동시에 치고 Session.Abandon을 호출하는 경쟁 조건을 유발하는 것과 같은 것입니까? ? (전에 일어난 일이야!)

그래서 내가 만료 세션을 일으키는 아약스 전화와 어떤 문제가있을 수도 있지만 무슨 일이 일어나고 있는지 몰라?

도움

하십시오

덕분에

+0

시도 먼저 문제를 좁힐. –

+0

사용자가 zip 파일을 만드는 링크를 클릭하면 zip 파일이 성공적으로 만들어 지지만 세션이 만료 된 후입니다. 이건 내가 원하는게 아니야. zip 파일을 만들기 위해 컨트롤러 작업에 대한 jquery 게시물 호출을 한 후에 세션이 만료되어야하는 이유는 무엇입니까? 나는이 문제를 이해하기를 바랍니다. – nccsbim071

답변

1

나는이 문제에 대한 해결책을 찾았습니다. 문제는 다음과 같습니다. 응용 프로그램 폴더 및 .net 2.0에서 zip 파일을 만들었습니다. 응용 프로그램 파일 및 폴더를 변경하면 세션이 만료됩니다. 곧 응용 프로그램 폴더의 디렉토리가 아닌 디렉토리에 zip 파일을 만들었으므로 모든 것이 잘 작동합니다.

어쨌든 감사

1

나는 문제는 당신이 Zip 파일을 생성 한 폴더에 권한라고 생각합니다.

0

세션은 자원에 대한 액세스와 아무 관련이 없습니다.

로그인하라는 메시지가 표시되면 사용자가 donwload 할 리소스가 FormsAuthenication 또는 WindowsAuthentication에 의해 보호된다는 의미입니다.

이 작업을 원하지 않으면 web.config의 인증 섹션을 확인하십시오.

+0

다운로드 링크를 클릭하지 않고 웹 페이지의 다른 링크를 클릭해도 로그인이됩니다. – nccsbim071

+0

로컬 개발 웹 서버, 로컬 iis 또는 프로덕션 웹 서버에서 이러한 현상이 발생합니까? –

+0

Visual Studio 및 프로덕션 서버에서 디버깅하는 동안 발생합니다. 나는 이미 웹 사이트를 호스팅했으며, 그렇다고해도 거기에 일어난다. – nccsbim071

관련 문제