또는 적어도 올바른 용어는 stateful이라고 생각합니다. 나는 wcf 서비스를 가지고 있고, 많은 데이터를 나에게 등재했다. 실제로 많은 데이터, 나는 maxrecievedmessagesize를 초과하고 있으며 프로그램이 충돌합니다.WCF 상태 저장 서비스
DB로 호출을 분할해야한다는 것을 알게되었습니다. 5000 행을 검색하는 대신 행 1 - 200을 가져와 행 번호 200의 ID를 기억하고 200 행 번호의 ID에서 다음 200 행을 가져와야합니다.
누구든지이 작업을 수행하는 방법을 알고 있습니까? 상태 유지 ('무국적자의 반대'에서처럼)가 올바른 방법입니까? 그리고 나는 어떻게 진행할 것인가? 누군가 예를 들어 설명해 줄 수 있습니까?
가능한 경우 서비스는 항상 ** 상태 비 저장 **이어야합니다. 기본적으로 ** 발신자 **는 자신이 원하는 행 (1-100, 101-200 등)을 지정해야합니다. 서비스 자체는 상태에 대해 알 필요가 없습니다. 클라이언트가 요청한 행만 반환합니다. –
@marc_s 당신은 서비스가 무국적이어야한다는 것이 옳은 반면, 명백한 행 번호를 클라이언트에 되돌려 보내면 서비스의 내부 상태와 기본 데이터베이스 ...를 피할 수 있습니다. 또한 피하는 것이 좋습니다. ... 그러나 어쨌든 전체 행 (id와 함께)이 반환되면 완전히 맞습니다. 따라서 투표를하십시오. – Daniel
행 1 - 100을 얻고 101 - 200을 얻습니다. 누군가 행 58을 변경하면 어떻게됩니까? ? 국가를 사용하여 이것을 막지 않겠습니까? 그리고 이런 종류의 문제에 대해 가장 좋은 방법은 무엇입니까? (호출자가 행 1 - 100을 얻고 101 - 200을 얻도록 결정) – myUser8519