2010-09-25 3 views
0

Я шел через список Скотта .NET вопросов на http://www.hanselman.com/blog/WhatGreatNETDevelopersOughtToKnowMoreNETInterviewQuestions.aspxРекомендация для VIEWSTATE злоупотребления

В комментариях есть сценарий - Вы пересматриваете приложения ASP.NET и найти, что ViewState хранит «ID», который используется для разных несвязанных целей на разных страницах. Возможно, для PersonID на одной странице, productID на другой странице и т. Д.

Какова будет ваша рекомендация?

ответ

1

Я не вижу проблемы с этим. Каждая страница, и поэтому каждый экземпляр ViewState имеет другой контекст. Нет соединения элементов ViewState на одной странице с элементами ViewState на другой странице, поэтому нет возможности их сбивать с толку. Характер «id» должен быть очевиден при кодировании страницы - это идентификатор лица, идентификатор продукта, идентификатор клиента или что-то еще.

+0

Но разве это не выглядит проблемой дизайна/архитектуры, которая может вызвать головную боль в будущем? –

+0

Я так не думаю. Я использую что-то подобное в своих URL-адресах - я использую стандартный параметр item_id для любой страницы, для которой нужен идентификатор. Это упрощает некоторые из моих кодов (создание URL-адресов, чтение идентификатора из URL-адресов, сохранение идентификаторов в ViewState). Каждая страница знает, какой тип идентификатора он ожидает и может вести себя соответственно. Очевидно, что если на какой-либо странице требуется несколько идентификаторов для выполнения своей задачи, каждому из них потребуется другое имя, но у меня их мало. – Ray

Смежные вопросы