는, 나는 apsx 페이지에 간단한 기능이셰어 마스터 페이지 및 세션 상태
public class SSInformPage : Page
{
protected Literal Literal1;
protected override void OnLoad(EventArgs e)
{
//base.OnLoad(e);
try
{
HttpContext.Current.Session["Name"] = "Mr Ben";
Literal1.Text = string.Format("{0} {1}", HttpContext.Current.Session["Name"].ToString(), Session.SessionID);
}
catch (Exception ex)
{
Literal1.Text = string.Format(ex.Message.ToString());
}
}
}
이 페이지가로드를 수행 파일 뒤에 코드를 가지고 브라우저에서 다음 오류가 발생합니다.
개체 참조가 개체의 인스턴스로 설정되지 않았습니다.
아직 기본 페이지 (예 : 검은 색 세로)로 전환하면 코드가 작동합니다. "Ben {session ID}"의 예상 결과를 얻었습니다.
새 빈 마스터 페이지를 작성하고 Black Vertical 마스터 페이지의 전체 내용을이 페이지에 복사했습니다. 나는이 새로운 마스터 페이지에 사이트를 설정하고, 작업 할 모든 것을 기대하는 페이지를로드하고 'Object reference ...'오류를 수신합니다. 어떻게 작동합니까? 그것은 정확하게 동일한 마스터 페이지이지만 코드는 OOTB 버전 일 경우에만 작동합니다.
중앙 관리에서 세션 상태를 사용하도록 설정하면 web.config 파일과 어셈블리가 GAC에 배포됩니다. 신뢰의 문제가 될 것으로 보인다 다른 포럼의 제안에서
업데이트 는, 나는 GAC에 배포하는 솔루션을 생각의 잘못이었다 실제로 Bin 폴더에 배포했다. 나는 이것을 재설정하려고 시도했지만 GSP에 대한 솔루션에 WSPBuilder를 배포 할 수는 없지만 웹 응용 프로그램의 bin 폴더에 배포하는 것을 중단 할 수는 있습니다.
누구든지 GAC 폴더에 배포 할 수있는 솔루션을 얻는 방법을 알고 있습니까? 이 내 STSADM 명령
stsadm -o deploysolution -name Test.SessionState.Solution.wsp -immediate -url http://example -allowGacDeployment -allowCasPolicies -force
UDPATE 2 없음이 신뢰 문제가 아니다, 난 내 솔루션을 다시 만들어와는 GAC에 배포 보장합니다. 셰어 포인트 디자이너에서 OOTB 마스터 페이지를 열고 저장 버튼을 클릭하면 페이지가 '사용자 정의'됩니다. 이렇게하면 코드가 작동을 멈추고 사이트 정의로 마스터 페이지를 다시 설정하면 코드가 다시 작동하기 시작합니다.
나는 행동을보기 위해 누구든지 이것을 설치하고 싶은 soltion 파일을 가지고있다.
내가 중앙 관리에서 세션 상태를 사용할 수 있음을 언급하는 것을 잊었다 문제 및 가능한 작업 차선책을 나열 기사입니다. 포인트 5를 보면, 그것이 웹 설정을 수정하는 부분입니다. 회신 해 주셔서 감사합니다! – Rob
방금 확인한 결과 세션 정보가 공유 서비스 공급자의 'ASPStateTempSessions'테이블에 저장되고 있는지 확인할 수 있습니다. – Rob
음 ... 계속 생각하고 내가 다른 것을 생각해 내면 알려주지. 우리 앞에서 해결하기 전에 답변을 추가하십시오! –