Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> WebParts, Персонализация и БД или не только? 
:(
    Опции темы
Wanderer2019
Дата 14.7.2007, 17:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 937
Регистрация: 3.12.2004
Где: Санкт-Петербург/П рага

Репутация: 1
Всего: 17



Всем привет!
Разбираюсь таким с довольно таки интересным функционалом 2-го фраймворка, как WebParts.

После изучения MSDN и ряда других источников оказалось, что для персонализации частей нужно использовать БД, а именно MS SQL Server.
т.е. именно в ней он и хранит все связи и настройки для веб частей...
А есть ли возможность использовать для этих целей другие БД или например XML? 

Можно конечно отказаться от использования персонализации, но тогда смысл использования практически пропадает...

Еще возник такой вопрос - Можно ли предоставить возможность персонализации только 1-му юзеру, а остальным использовать его настройки без возможности их редактирования?
PM ICQ MSN   Вверх
tol05
Дата 14.7.2007, 19:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1632
Регистрация: 21.12.2006
Где: Харьков

Репутация: 34
Всего: 170



Wanderer2019, ну так в 
Цитата(Wanderer2019 @  14.7.2007,  17:43 Найти цитируемый пост)
MSDN и ряде других источников
 написано, что для персонализации Web-Parts используются потомки класса PersonalizationProvider.

По умолчанию в ASP.NET реализован только SqlPersonalizationProvider, поэтому настройки и хранятся в БД SqlServer (aspnet_Paths). Других провайдеров разработать мелкомягкие просто не удосужились.

Но никто не мешает тебе разработать свой класс провайдера, наследника PersonalizationProvider, скомпилить его и зарегистрировать в конфиге (webControls/webParts/personalization/providers). И этот твой провайдер уже внутри своей реализации пусть определяет, что, где и в каком виде ему хранить. Хоть в OLE, хоть в XML, хоть чистым текстом... smile


Цитата(Wanderer2019 @  14.7.2007,  17:43 Найти цитируемый пост)
Можно ли предоставить возможность персонализации только 1-му юзеру, а остальным использовать его настройки без возможности их редактирования?

можно. 
shared personalization
И еще почитай про PersonalizationScope (значения User и Shared), про свойство WebPartManager.Personalization.


--------------------
На хорошей работе и сны хорошие снятся.
PM MAIL   Вверх
Wanderer2019
Дата 14.7.2007, 19:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 937
Регистрация: 3.12.2004
Где: Санкт-Петербург/П рага

Репутация: 1
Всего: 17



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

но вот чего то не понятно... у меня все грузится и проект работает нормально...

а при закачки на сервер выдает ошибку...

Код

The specified personalization provider, 'AccessPersonalizationProvider', is not registered.


где его надо регестрить? каким образом?
PM ICQ MSN   Вверх
tol05
Дата 14.7.2007, 19:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1632
Регистрация: 21.12.2006
Где: Харьков

Репутация: 34
Всего: 170



Цитата(Wanderer2019 @  14.7.2007,  19:14 Найти цитируемый пост)
где его надо регестрить? каким образом?

указанием его в конфиге, я ж говорил. providers Element for personalization for webParts 

Пример:
Код

<configuration>
    <system.web>
        <webParts>

            <personalization>
                <providers>
                    <add name="Wonderer2019PersonalizationProvider" type="Wonderer2019Namespace.Wonderer2019PersonalizationProvider, Wonderer2019Library" />
                </providers>

                <authorization>
                    <deny users="*" verbs="enterSharedScope" />
                    <allow users="*" verbs="modifyState" />
                </authorization>
            </personalization>
         
        </webParts>
    </system.web>
</configuration>

сборку положи в папку bin своего приложения


--------------------
На хорошей работе и сны хорошие снятся.
PM MAIL   Вверх
Wanderer2019
Дата 14.7.2007, 19:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 937
Регистрация: 3.12.2004
Где: Санкт-Петербург/П рага

Репутация: 1
Всего: 17



так у меня оно все и есть...
я же говорю что при запуска из студии все работает...

Код

    <webParts>
      <personalization defaultProvider="AccessPersonalizationProvider">
        <providers>
          <add name="AccessPersonalizationProvider" 
                        type="Samples.AccessProviders.AccessPersonalizationProvider, SampleAccessProviders" 
                        connectionStringName="AccessFileName" 
                        applicationName="WebSite1"/>
        </providers>
      </personalization>
    </webParts>

PM ICQ MSN   Вверх
tol05
Дата 14.7.2007, 19:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1632
Регистрация: 21.12.2006
Где: Харьков

Репутация: 34
Всего: 170



где-то значит перекрываются определения... попробуй вместо
Код

<add name="AccessPersonalizationProvider"    
                        type="Samples.AccessProviders.AccessPersonalizationProvider, SampleAccessProviders"    
                        connectionStringName="AccessFileName"    
                        applicationName="WebSite1"/>

написать
Код

<remove name="AccessPersonalizationProvider"/>
<add name="AccessPersonalizationProvider"    
                        type="Samples.AccessProviders.AccessPersonalizationProvider, SampleAccessProviders"    
                        connectionStringName="AccessFileName"    
                        applicationName="WebSite1"/>

обычно это происходит, когда у тебя или connectionStringName="AccessFileName" определено не в СonnectionStrings а в AppSettings, или конфиг нижнего уровня затирает то, что ты писал в конфиге верхнего уровня. 
Короче, пересмотри все конфиги.

счас надыбал отличную статью по профилямInside the ASP.NET user profile mechanism. Почитай.


--------------------
На хорошей работе и сны хорошие снятся.
PM MAIL   Вверх
Wanderer2019
Дата 14.7.2007, 20:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 937
Регистрация: 3.12.2004
Где: Санкт-Петербург/П рага

Репутация: 1
Всего: 17



неа... результат тот же...
все проверил... config совсем примитивен... что там может перекрываться я не знаю....



Это сообщение отредактировал(а) Wanderer2019 - 14.7.2007, 21:27

Присоединённый файл ( Кол-во скачиваний: 4 )
Присоединённый файл  WebSite1.zip 75,40 Kb
PM ICQ MSN   Вверх
tol05
Дата 14.7.2007, 20:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1632
Регистрация: 21.12.2006
Где: Харьков

Репутация: 34
Всего: 170



1. архив не открывается
2. вот нашел обсуждение похожей проблемы
3. могу еще посоветовать подписать сборку и засунуть ее в GAC




--------------------
На хорошей работе и сны хорошие снятся.
PM MAIL   Вверх
Wanderer2019
Дата 14.7.2007, 21:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 937
Регистрация: 3.12.2004
Где: Санкт-Петербург/П рага

Репутация: 1
Всего: 17



вроде проверял...
у меня открывается

Нарыл еще один Provider для MySQL. Добавил базу.
Настроил config. Загрузил на сервер и опять 25...

Код

The specified personalization provider, 'personalizationProvider', is not registered.


не понятно что именно они хотят сказать этой ошибкой...

Кто нибудь вообще использовал какие нибдь хранилища данных, отличные от MS SQL Server?

Это сообщение отредактировал(а) Wanderer2019 - 15.7.2007, 11:22
PM ICQ MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка под ASP.NET | Следующая тема »


 




[ Время генерации скрипта: 0.0493 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.