2010-11-23 4 views
0

다음은 적용하려는 간단한 시나리오입니다..NET 프로그램을 백그라운드 서비스로 실행

  1. .NET 응용 프로그램 (console 또는 windows) appA가 있으며이 코드는 30 초마다 프로젝트의 큰 전역 변수 (+ 50MB)를 업데이트합니다.
  2. 나는 .NET 웹 응용 프로그램 인 다른 응용 프로그램 appB를 가지고 있으며 필요할 때마다 appB에서 appA의 전역 변수의 업데이트 된 값에 액세스 할 수 있기를 원합니다.

이 목적을 위해 나에게 무엇을 제안합니까?

+0

이 두 컴퓨터는 항상 같은 컴퓨터에서 실행됩니까? –

+0

통합 레이어로 사용할 기술 (db, webservice, 파일 등)을 식별해야합니다. 그러면 당신의 질문에 간단히 대답 할 수 있습니다. – BozoJoe

+0

@James 예 그들은 동일한 컴퓨터에서 실행됩니다. @ BozoJoe 그 기술 중 하나를 사용할 수 있지만 db 또는 파일에 쓰는 것은 내 변수가 매우 커질 것이므로 나쁜 방법으로 보입니다. –

답변

0

플랫 파일, 데이터베이스, 리모팅 또는 소켓을 사용하여이를 수행 할 수 있습니다. 해답은 데이터가 민감한 지 여부, 앱을 배포 할 계획 인 컴퓨터 수, appA의 여러 인스턴스가 존재할 수 있는지 여부 등의 특정 요소에 따라 달라질 수 있습니다.

+0

Hello DaMartyr, 변수가 크고 (50MB 이상) 파일이나 데이터베이스에 쓰는 것이 실현 가능성이 낮습니다. 이 변수는 매 30 초마다 바뀝니다. db 또는 파일에 저장하는 것이 좋습니다. –

2

제 생각에는 응용 프로그램 A를 windows service으로 실행하고 웹 응용 프로그램의 공유 위치에 쓰기를해야합니다.

+0

제이슨 (Jason)을 봅니다. 저는 이것과 비슷한 것으로 생각했지만 변수가 커질 것입니다 (50MB 이상을 가정 해 봅시다). 파일에 저장하고 웹 응용 프로그램에서로드하는 것이 여전히 가능합니까? 변수에 액세스하고 웹 응용 프로그램에서 간단한 REST 호출에서 다시 반환하는 특정 Windows 서비스에 대해 웹 서비스를 항상 실행중인 Windows 서비스와 같은 것을 만들 수 있습니까? –

0

2가 동일한 컴퓨터에서 실행되는 경우 레지스트리를 사용하거나 파일이나 데이터베이스에 저장할 수 있습니다.

다른 컴퓨터 데이터베이스에서 실행될 수있는 경우 최상의 대안이 될 수 있습니다.

관련 문제