우리가 호출하는 웹 서비스에 대한 성능 문제가 있습니다. 실제 웹 서비스 메서드 자체에 시간 기록 코드를 배치 할 수 있었지만 이제는 결과 집합을 serialize하는 데 걸리는 실제 시간이 문제가 될 수있는 것처럼 보입니다.웹 서비스에서 반환되는 객체를 직렬화하는 데 걸리는 시간을 기록 할 수 있습니까?
[AuthExtension]
[WebMethod]
[SoapHeader("AuthHeader", Direction = SoapHeaderDirection.In)]
public ResultSet CheckAvailability(FareSelections fareSelections)
{
ResultSet results = null;
results = Logic.CheckAvailability(fareSelections, AuthHeader.Token, timeLogger);
return results;
}
나는 시도했다 :
그래서 우리가 여기에
는 예를 들어 웹 서비스 방법입니다 .. 긴이 데이터가 걸리는 직렬화, 그러나 어떤 결과를 얻기 위해 고군분투하는 방법을 기록하기 위해 찾고 있어요 [OnSerializing()] 및 [OnSerialized()] 특성으로 꾸며진 반환되는 클래스에 메서드를 배치하지만 작동하지 않습니다. 또한 try..finally 블록을 사용하여 메서드에서 타이밍을 캡처하려고 시도했지만 실제 직렬화 시간도 기록하지 않는다고 생각하십니까?(필자는 타이밍을 기록하고 기본 직렬 변환기를 호출하는) 자체 serializer를 구현해야 할 수도 있지만이 옵션이 내가 가지고있는 유일한 옵션인지 궁금한가요?
모든 의견은 대단히 감사하겠습니다.
이것은 갈 수있는 방법이다. 거기에 내 TimeLogger 클래스를 배치하고 메시지가 나타날 때 호출 할 것이다. .Stage는 BeforeSerialize이고 message.Stage는 AfterSerialize입니다.이 제안을 주셔서 대단히 감사합니다. –
건배하면 결과를 serialize하는 것이 큰 검색에서 30 초 이상 걸릴 수 있습니다. 그 정보를 직렬화하여 프론트 엔드로 가져 오는 방법. 답변 해 주셔서 감사합니다. –