Azure 함수 - 함수는 정적 클래스 안에 작성해야 합니다.
Azure 기능을 시험해 보기 시작했습니다.Visual Studio 2017 Preview 버전 15.3을 사용하고 있습니다.작성한 Azure Functions 프로젝트를 오른쪽 클릭하여 [Add]> [ New Item ]를 선택하면...> Azure Function, Visual Studio에서 생성되는 기본 템플릿은public static class
와 함께public static async Task
method(함수)를 지정합니다.
클래스는 정적으로 해야 합니까(비정적으로 변경했는데 작동하는 것 같습니다).그것이 Azure 기능에 대한 베스트 프랙티스입니까?이 경우 비정적 클래스를 사용하여 Azure 함수 메서드를 유지하면 어떤 문제가 발생할 수 있습니까?
항상 그렇듯이.함수 클래스를 정적으로 유지하는 다른 답변 중 비정적 클래스가 도움이 될 수 있는 다른 사례를 제시하고자 합니다.다음 항목을 참조하십시오.함수 의존성 주입.함수 내에서 DI를 사용하는 경우 파라미터가 있는 인스턴스 컨스트럭터를 가질 수 없기 때문에 스태틱클래스에서는 쉽게 실행할 수 없습니다.그래서 다음과 같은 글을 쓸 수 없습니다.
public class HttpTrigger
{
private readonly IMyService _service;
private readonly HttpClient _client;
public HttpTrigger(IMyService service, IHttpClientFactory httpClientFactory)
{
_service = service;
_client = httpClientFactory.CreateClient();
}
[FunctionName("GetPosts")]
public async Task<IActionResult> Get(
[HttpTrigger(AuthorizationLevel.Function, "get", Route = "posts")] HttpRequest req,
ILogger log)
{
log.LogInformation("C# HTTP trigger function processed a request.");
var res = await _client.GetAsync("https://microsoft.com");
await _service.AddResponse(res);
return new OkResult();
}
}
함수가 서버리스 방식으로 호출되기 때문에 스태틱메서드는 여기서 올바른 의미론을 가지고 있습니다.즉, 함수가 호출될 때마다 프로세스가 종료될 수 있기 때문에 함수 호출 사이에 인스턴스 메서드의 상태를 축적해서는 안 됩니다.
클래스는 정적으로 해야 합니까(비정적으로 변경했는데 작동하는 것 같습니다).그것이 Azure 기능에 대한 베스트 프랙티스입니까?
정적 클래스는 정적 멤버만 포함할 수 있으며 인스턴스화할 수 없습니다.클래스를 non-static으로 변경하면 non-static 멤버를 추가하고 이 클래스의 인스턴스를 만들 수 있습니다.
이 클래스에 비정적 멤버를 추가하거나 인스턴스를 만들어야 하는지 확인하십시오.소프트웨어에서 제공하는 기능의 일부에 대해 모든 클래스가 책임을 져야 한다는 단일 책임 원칙 때문에 새로운 클래스를 만들고 비정적 멤버를 배치하는 것이 좋습니다.
이 경우 비정적 클래스를 사용하여 Azure 함수 메서드를 유지하면 어떤 문제가 발생할 수 있습니까?
non-static 클래스를 사용하는 이유는 non-static 멤버를 만들고 싶기 때문일 것입니다.그렇게 하면 수업이 복잡해지고 유지하기가 어려워집니다.
마지막 대답은 수업을 비정적으로 변경할 수 있다는 것입니다.수업을 단순하게 하기 위해, 나는 네가 수업을 정적으로 하는 것을 추천한다.
언급URL : https://stackoverflow.com/questions/45168659/azure-functions-should-functions-be-written-inside-static-classes
'itsource' 카테고리의 다른 글
"sh" 또는 "bash" 명령을 사용하지 않고 셸 스크립트를 실행하려면 어떻게 해야 합니까? (0) | 2023.04.22 |
---|---|
약한 참조와 소유하지 않은 참조의 차이점은 무엇입니까? (0) | 2023.04.22 |
Swift 사전을 통한 반복 (0) | 2023.04.22 |
Django에서 여러 쿼리 세트를 결합하는 방법은 무엇입니까? (0) | 2023.04.22 |
PS1과 PROMT_COMMAND의 차이점은 무엇입니까? (0) | 2023.04.22 |