정적 클래스로 구성된 dll을 만들었습니다. 저의 웹 작업 (webjob1, webjob2 등)에서 참조하고 하늘에서 생성 및 배포했습니다.Azure WebJobs로 정적 메서드를 호출하십시오.
각 웹 작업은 동시에 메소드에 액세스 할 수 있습니다. 정적 클래스를 사용할 때 힙에 단일 메모리가 작성됩니다. 모든 웹 작업에는 해당 정적 클래스의 참조 값이 포함됩니다. 내 질문은, 어떤 문제가 생길까요?
제 생각에 C#은 동기식으로 작동합니다. 따라서 각 웹 작업은 정적 클래스의 기능에 액세스하기 위해 대기열에서 대기합니다. 따라서 정적 클래스의 변수에 대한 모든 변경 사항은 다른 webjob에 반영됩니다. 정적 클래스는 독립형 메모리를 가지고 있기 때문에.
제 가정이 옳다면 우리가 인스턴스화하고 사용할 수있는 정적 헬퍼 클래스 대신에 정적 헬퍼 클래스를 유지해야하는 이유는 무엇입니까?
나는이 inorder와 같은 정적 클래스를 만들어 내 데이터베이스에서 세부 정보를 얻을 수 있습니다.
public static class StaticHelper
{
public static string GetValue()
{
using(IDBContext _DbContext = new sampleDBContext())
{
}
//Acessing values through this context
}
}
정말 당신이 달성하려고에 따라 달라집니다. C#에는 async/await 패턴도 있습니다. 여기에 코드를 게시 할 수 있다면 더 쉬울 것입니다. 건배. – Thomas
@Thomas가 업데이트되었습니다 ... – Skull
Webjobs는 정적 방법에 액세스하는 것을 기다리지 않습니다. 그들은 동시에 그것을 부를 것이다. – Thomas