Melhore drasticamente os tempos de resposta do ASP.NET reduzindo a carga útil retornada aos clientes da Web. Os aplicativos ASP.NET precisam lidar com o estado de exibição tornando-se uma sobrecarga de desempenho. E, NCache ajuda a estado de exibição de cache nos servidores da Web e enviar uma carga muito menor para o navegador do usuário contendo apenas um token exclusivo para este ViewState.
View State é uma string de texto criptografada que contém o estado dos controles e widgets de formulário da Web e é enviada ao navegador do usuário para preservar esse estado nos post-backs. Para formulários com muitos controles, controle DataGrid ou alguns outros controles complexos, o estado de exibição pode se tornar muito grande. Aqui estão alguns motivos pelos quais você deve considerar o armazenamento em cache do View State.
O estado de exibição é incluído na resposta de uma solicitação da Web como um campo de formulário oculto chamado __VIEWSTATE. Em todas as visitas de página durante o estágio de estado de exibição de salvamento, a classe Page reúne o estado de exibição coletivo para todos os controles em sua hierarquia de controle e serializa o estado em uma string codificada em base 64. Abaixo está um exemplo de um estado de exibição.
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUJNzg0MDMxMDA1D2QWAmYPZBYCZg9kFgQCAQ9 kFgICBQ9kFgJmD2QWAgIBDxYCHhNQcm...ZpZ2F0aW9uTWVudQ8PZAUK QWxsIGluIE9uZWQiMPVaPthHdSA3rH8zgoNOvWxd4w=="/>
Uma vez NCache armazena em cache esse View State, ele substitui os campos "id" e "value" por seus próprios dados. Aqui está um exemplo disso.
<input type="hidden" name="__NCPVIEWSTATE" id="__NCPVIEWSTATE" value="vs:cf8c8d3927ad4c1a84da7f891bb89185" /> <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="" />
Observe como é preservado o campo oculto original "__VIEWSTATE" para que tudo funcione como se não houvesse estado de exibição. Mas, ele inseriu seu próprio campo "__NCPVIEWSTATE" que ele lerá quando uma solicitação de post-back vier do usuário para o servidor web. NCache usa o "valor" como a chave para buscar o estado de exibição original correspondente do cache na memória e o exibe na página ASP.NET para que possa preencher o formulário da Web com dados do estado de exibição.
E, como o cache na memória é distribuído e sincronizado em todos os servidores WFE, mesmo que a solicitação de post-back vá para um servidor WFE diferente no farm do servidor original em que o estado de exibição foi criado, NCache é capaz de encontrar o valor View State no cache.