Балансировка нагрузки с использованием SQL Server и TempData MVC - PullRequest
0 голосов
/ 27 мая 2010

Мне сказали, что MVC 1.0 TempData не работает под балансировщиком нагрузки при использовании SQL Server, и это потому, что сам Словарь не сериализуем.

Нам требуется это для проекта, и мы хотим эффективно распределять нагрузку.

Так что я был бы очень признателен, если бы кто-то мог ответить на следующие вопросы: Есть ли где-нибудь подальше, чтобы вы могли заставить его работать? Это исправлено в MVC 2.0? Можем ли мы создать ITempDataProvider, чтобы исправить это? Или кто-нибудь исправил исходный код своего собственного проекта, которым он хотел бы поделиться?

Ура, Джейми

Ответы [ 2 ]

2 голосов
/ 27 мая 2010

Сам словарь не должен быть сериализуемым. То, что вы храните внутри TempData, должно быть сериализуемым. Так, например, если у вас есть следующий класс

[Serializable]
public class Foo
{
    public string Bar { get; set; }
}

Вы можете прекрасно использовать SQL-сервер для сохранения сеанса и написать следующий код:

TempData["foo"] = new Foo { Bar = "bar" };
Session["foo"]  = new Foo { Bar = "bar" };
0 голосов
/ 27 мая 2010

Мммм, поэтому любая модель пользовательского интерфейса (ASP.Net MVC) просто требует атрибут Serializable, и это должно просто работать?

Как это работает для списков и моделей пользовательского интерфейса на основе коллекции?

...