Я работаю над решениями CMS для агентств недвижимости. , так что разные пользователи/группы будут использовать один и тот же инструмент.Как управлять несколькими подключениями для разных пользователей
Я создал 1 базу данных asp.net, в которой я управляю ВСЕМИ пользователями. Пользователи сгруппированы в разные роли. (1 role = 1 agency office)
Затем - для каждой группы у меня есть другая База данных. В этой базе данных я управляю недвижимостью и клиентами данного офиса. (Эти базы данных имеют одинаковую структуру.)
В настоящее время я использую «пользовательский класс профиля ASP.NET», где я храню connectionstring для конкретной базы данных. Я создаю этот настраиваемый профиль, если пользователь входит в систему.
Теперь у меня есть проблема, если анонимный пользователь посещает страницу (есть общественный раздел). Я получаю ошибки в строке подключения, потому что нет «настраиваемого профиля», где мой функции могут читать ConnectionString
Мой Настраиваемый профиль класса выглядит следующим образом: Public Class UserProfile Inherits ProfileBase Public Shared Function GetUserProfile (имя пользователя As String) Как UserProfile Return TryCast (Создать (имя пользователя), UserProfile) End Function
Public Shared Function GetUserProfile() As UserProfile
Return TryCast(Create(Membership.GetUser().UserName), UserProfile)
End Function
<SettingsAllowAnonymous(False)> _
Public Property role() As String
Get
Return TryCast(MyBase.Item("role"), String)
End Get
Set(value As String)
MyBase.Item("role") = value
End Set
End Property
<SettingsAllowAnonymous(False)> _
Public Property UsersCustomConnectionString() As String
Get
Return TryCast(MyBase.Item("UsersCustomConnectionString"), String)
End Get
Set(value As String)
MyBase.Item("UsersCustomConnectionString") = value
End Set
End Property
End Class
Тогда я могу читать мои строки соединения, как
Dim currentprofile As UserProfile = UserProfile.GetUserProfile()
Dim strcon As String = currentprofile.UsersCustomConnectionString
Как я мог решить эту проблему? Или мне нужно использовать другой способ решения проблемы «много строк подключения»? если да, то как? (Я думаю, что сессия varaiables не будет работать)
Заранее спасибо