2009-12-04 3 views
1

내 코드에서 파일이 있는지 확인하고 asp.net의 Application 개체에 저장합니다.WCF에서 응용 프로그램 시뮬레이션

나중에이 웹 서비스에서 뭔가를 수행하기 위해이 부울 값에 액세스합니다.

는 지금은 WCF에서 내 웹 서비스를 다시하고 싶은 일이 여기 다르다. 응용 프로그램 개체가 존재하지 않습니다. 이 작업을 할 수있는 가장 좋은 방법은 무엇

: 웹 사이트 응용 프로그램 시작 기록에 부울. 그것에 대해 알 수 있도록이 (메소드 매개 변수의 일부가되는 부울없이) 함수를 호출 할 때 내 WCF에 전달

답변

1

마지막 포스트 here는 호출 사이에 상태를 공유 할 수있는 옵션을 제공합니다 :

정적 클래스는 항상 응용 프로그램의 유효 기간 인 에 대해 존재합니다. 그들은 때마다 만들어 전화 또는 새로운 WCF 연결을 다시 인스턴스화되지 않기 때문에 상태 을 유지하기위한 WCF에 유용 이다.

+1

정적 상태는 모든 프로그래밍 언어에서 금지되어야합니다. –

+1

포인트가 찍혔습니다. 모든 망치와 마찬가지로 정적 인 기능으로 집을 지을 수도 있고 엄지 손가락을 부술 수 있습니다. –

1

명의 많은 WCF 너무 많은 번거 로움없이 의존성 주입 (DI) 패턴 등 생성자 삽입를 지원하는지 인식하지 않습니다.

알고 싶은 지식 (부울)을 캡슐화하고 해당 클래스의 인스턴스를 WCF 서비스에 삽입하고 값 (및 알고 싶은 모든 것)에 대해 질문하는 클래스를 정의합니다.

삽입 된 클래스를 수명이 긴 객체 (일반적으로 싱글 톤이라고 부르지 만 싱글 톤 디자인 패턴과 혼동하지 말 것)으로 계속 지정하면 값에 대해 계속 묻는 것이 좋습니다. 매번 같은 대답.

많은 다른 것들 중에서

, this post는 기본 생성자가없는 경우 WCF 서비스 구현에 종속성을 주입하는 방법을 설명합니다.

1

ASP.NET의 Application 개체는 고전적인 ASP 응용 프로그램과의 하위 호환성을 위해 주로 필요합니다.

그것은 본질적 고전 ASP와 호환되는 의미를 잠금으로 고정 Dictionary<string, object>이다.

쉽게 필요한 경우 자신의 잠금을 제공하는 임의의 적절한 정적 필드에 응용 프로그램 전체 상태를 저장하여 교체 할 수 있습니다. 그렇다면 ASP.NET 응용 프로그램, WCF 응용 프로그램 또는 다른 프로그램으로 실행 중인지 걱정할 필요가 없습니다.

관련 문제