ASP.NET членство провайдер - PullRequest
3 голосов
/ 22 февраля 2011

Кто-нибудь уже использовал код поставщика членства ASP.NET с новым инструментарием 1.3 и MVC?

Я ищу еще какой-нибудь обновленный код, и пока все, что я могу найти, это код здесь:

http://archive.msdn.microsoft.com/windowsazuresamples

Есть ли у кого-нибудь информация о чем-то более свежем?Кажется странным, что эти устаревшие примеры - это все, что я смог найти, и они не используют MVC.

Спасибо,

Гордон

Ответы [ 3 ]

3 голосов
/ 22 февраля 2011

Я использовал этот пример с выпуском 1.3.

Это работает.

Однако в целом я обнаружил, что при использовании табличного хранилища для членства существуют серьезные ограничения - если вы используете табличное хранилище, то трудно получить даже простую информацию, например, сколько у меня пользователей?

Если ваши потребности в членстве очень просты, вы можете использовать Table Storage, как показано в этих примерах.Однако, если у вас есть более продвинутые потребности, вам нужно будет либо проделать большую работу с примерами, либо переключиться на SQL Azure.

Для сайтов, которые я создаю,где я хотел бы однажды иметь платную схему членства, тогда я начал использовать более нормальное членство на основе SQL.

1 голос
/ 24 февраля 2011

Проблема с хранилищем Azure заключается в том, что нет способа обеспечить атомарные операции, поэтому нет способа "напрямую" заблокировать ресурс. Я имею в виду, вы не можете выполнить это атомарно:

  1. Проверьте, не заблокирован ли.
  2. Если не заблокировано, заблокируйте.
  3. Fetch
  4. Если заблокировано, верните «Заблокировано, попробуйте позже»

Итак, вы можете попытаться установить флаг «заблокирован» в вашей сущности таблицы, но когда запрос возвращается, говоря «заблокирован», веб-ролик может заблокировать его. Конечно, вы не можете заблокировать сразу без проверки.

В BLOB-объектах Azure есть что-то, называемое "арендой", но они не менее одной минуты, и не очень подходят для веб-страниц, где каждая страница может писать и читать.

Поскольку невозможно заблокировать ресурсы, вы заканчиваете приложением, которое запускается, когда у вас очень мало пользователей ... если нет, то вы единственный: D. Но когда вы выполняете нагрузочный тест, вы видите много проблем с параллелизмом, связанных с ETag. Я попытался использовать поставщика сеанса и отказался от .

Примеры работают довольно аккуратно, но если вы разместите несколько веб-роликов параллельно и выполните какой-либо тест с высокой нагрузкой, вы увидите проблемы.

0 голосов
/ 26 февраля 2012

Посмотрите на это решение: http://azureproviders.codeplex.com/

Это все членство, основанное на BLOB-объектах и ​​таблицах без базы данных SQL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...