2010-06-01 2 views
1

У меня есть веб-приложение, которое использует членство и профили. Я успешно использовал расширение WebProfileBuilder, поэтому мой класс профиля правильно сгенерирован и работает хорошо.Профиль Asp.net в отдельной сборке

Однако, после нового запроса моего клиента, мне нужно сейчас переместить эту часть управления профилем в другую сборку (чтобы я мог получать информацию о профиле в службе Windows, работающей на том же компьютере).

Я создал новую сборку, переместил файл сгенерированного профиля и попытался использовать его из другой сборки, но без каких-либо успехов. Я всегда получаю SettingsPropertyNotFoundException. Я думал, что система профиля не знает, где найти информацию о соединении, поэтому я попытался добавить строку подключения и поставщика в app.config этой сборки, но это, похоже, не работает.

Что мне не хватает? Можно ли это сделать?

Заранее благодарен!

ответ

0

Ok я нашел то, что случилось ... Благодаря этому сообщению в блоге:

http://fredrik.nsquared2.com/viewpost.aspx?postid=244&showfeedback=true

Единственное, что мне нужно сделать, это добавить applicationName="/" в моей конфигурации поставщика, в app.config. (Это имя приложения, можно найти в таблице aspnet_Applications в БД.

<configuration> 

    <connectionStrings> 
    <add 
     name="MyConnectionString" 
     connectionString="Data Source=...;Initial Catalog=...;User ID=...;Password=..." 
     providerName="System.Data.SqlClient" /> 
    </connectionStrings> 

    <system.web> 
    <profile 
     enabled="true" 
     defaultProvider="Sql2008ProfileProvider"> 
     <properties> 
     <add name="UserLevel" type="integer"/> 
     <add name="value1" type="string" /> 
     <add name="value2" type="string" /> 
     <add name="value3" type="string" /> 
     <add name="value4" type="string"/> 
     </properties> 

     <providers> 
     <clear/> 
     <add 
      name="Sql2008ProfileProvider" 
      type="System.Web.Profile.SqlProfileProvider" 
      connectionStringName="MyConnectionString" 
      applicationName="/" 
      /> 
     </providers> 

    </profile> 
    </system.web> 

</configuration> 
0

У меня есть подозрительное подозрение, что ваш файл APP.Config не будет выбран веб-приложением; вы сохранили настройки в файле Web.Config?

Я нашел приложение app.config для работы над таким дополнением при использовании NUnit или аналогичного.

+0

Я снял то, что было между ' ...' из моего web.config, и проблема все еще существует. – Shimrod

+0

О, извините, я хочу сказать, что вы должны попытаться сохранить материал в web.config и * не * переместить его в app.config. У меня была точно такая же проблема, пытаясь использовать некоторые службы WCF. привязки в app.config, но затем бросил исключение, когда я попытался загрузить страницу. Мне пришлось переместить настройки в Web.Config, тогда все это начало работать. –

+0

Это была моя первоначальная попытка, и она не работает ни :-( Теперь ... Учитывая, что моя служба Windows использует новую сборку, где я должен разместить app.config? В сборке или в службе Windows? – Shimrod

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