Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
I'm using the Profile Feature in my web application. I got a helpful article at Using ASP.NET Profile Feature in a Web Application Project[^]. According to this article I coded my `web.config` , a custom profile class, a profile info class. Following is my code.
 
My Code

web.config
    <profile enabled="true" inherits="app_DeliverMatic.UserProfile" defaultProvider="ProfileProvider">
      <providers >
        <add name="ProfileProvider" applicationName="delivermatic" connectionStringName="LocalSqlServer" type="System.Web.Profile.SqlProfileProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
      </providers>
    </profile> 
 
    <connectionStrings>
        <clear/>
        <add name="LocalSqlServer" connectionString="Data Source=(local);Initial Catalog=mydb;Persist Security Info=True;User ID=uid;Password=pass;"/>
    </connectionStrings>  
  
UserProfile.vb
  
    Public Class UserProfile
        Inherits ProfileBase
    
        Public ReadOnly Property UserProfileInfo As UserProfileInfo
            Get
                Return DirectCast(GetPropertyValue("UserProfileInfo"), UserProfileInfo)
            End Get
        End Property
    
        Public Shared Function GetProfile() As UserProfile
            Return DirectCast(HttpContext.Current.Profile, UserProfile)
        End Function
    
        Public Shared Function GetProfile(ByVal UserName As String) As UserProfile
            Return DirectCast(Create(UserName), UserProfile)
        End Function
    
    End Class  
UserProfileInfo.vb
  
    <Serializable()>
    Public Class UserProfileInfo
        Dim _Name As String
        Dim _Company As String
        Dim _Address1 As String
        Dim _Address2 As String
        Dim _City As String
        Dim _State As String
        Dim _Country As String
        Dim _Zip As String
        Dim _PhoneNo As String
        Dim _Mobile As String
        Dim _FaxNo As String
        Dim _Website As String
        Dim _Registration_Email As String
    
        Public Property Name As String
            Set(ByVal value As String)
                _Name = value
            End Set
            Get
                Return _Name
            End Get
        End Property
        Public Property Company As String
            Set(ByVal value As String)
                _Company = value
            End Set
            Get
                Return _Company
            End Get
        End Property
        Public Property Address1 As String
            Set(ByVal value As String)
                _Address1 = value
            End Set
            Get
                Return _Address1
            End Get
        End Property
        Public Property Address2 As String
            Set(ByVal value As String)
                _Address2 = value
            End Set
            Get
                Return _Address2
            End Get
        End Property
        Public Property City As String
            Set(ByVal value As String)
                _City = value
            End Set
            Get
                Return _City
            End Get
        End Property
        Public Property State As String
            Set(ByVal value As String)
                _State = value
            End Set
            Get
                Return _State
            End Get
        End Property
        Public Property Country As String
            Set(ByVal value As String)
                _Country = value
            End Set
            Get
                Return _Country
            End Get
        End Property
        Public Property Zip As String
            Set(ByVal value As String)
                _Zip = value
            End Set
            Get
                Return _Zip
            End Get
        End Property
        Public Property PhoneNo As String
            Set(ByVal value As String)
                _PhoneNo = value
            End Set
            Get
                Return _PhoneNo
            End Get
        End Property
        Public Property Mobile As String
            Set(ByVal value As String)
                _Mobile = value
            End Set
            Get
                Return _Mobile
            End Get
        End Property
        Public Property FaxNo As String
            Set(ByVal value As String)
                _FaxNo = value
            End Set
            Get
                Return _FaxNo
            End Get
        End Property
        Public Property Website As String
            Set(ByVal value As String)
                _Website = value
            End Set
            Get
                Return _Website
            End Get
        End Property
        Public Property Registration_Email As String
            Set(ByVal value As String)
                _Registration_Email = value
            End Set
            Get
                Return _Registration_Email
            End Get
        End Property
    
        Public Sub New()
    
        End Sub
    
        Public Sub New(ByVal Name As String, ByVal Company As String, ByVal Address1 As String, ByVal Address2 As String, ByVal City As String, ByVal State As String, ByVal Country As String, ByVal Zip As String, ByVal PhoneNo As String, ByVal Mobile As String, ByVal FaxNo As String, ByVal Website As String, ByVal Registration_Email As String)
            Me.Name = Name
            Me.Company = Company
            Me.Address1 = Address1
            Me.Address2 = Address2
            Me.City = City
            Me.State = State
            Me.Country = Country
            Me.Zip = Zip
            Me.PhoneNo = PhoneNo
            Me.FaxNo = FaxNo
            Me.Website = Website
            Me.Registration_Email = Registration_Email
        End Sub
    
    End Class  

Code To Use The Profile Provider
  
    Dim profile As UserProfile = UserProfile.GetProfile(lblEmail.Text)
    With profile.UserProfileInfo
        .Address1 = txtAddress1.Text
        .Address2 = txtAddress2.Text
        .City = txtCity.Text
        profile.Save()
    End With
**My Problem**
The above code works just fine. But the problem is, if I set the connection string name to anything I want, it gives error. When changing the connection string name I also setting the "connectionStringName" attribute of the profile provider to the new name. It seems that the ProfileBase class works only with connectionStringName set to LocalSqlServer. How can I get rid of this problem?
Posted 3-Jan-13 7:49am
Comments
Christian Graus at 3-Jan-13 14:10pm
   
That's really insane, but, if you can change the connection string itself, why do you need to change the name as well ?
KrishanuDey at 3-Jan-13 14:20pm
   
when i change the connection string name from "LocalSqlServer" to "myCon" and also change the profile provider's "connectionStringName" attribute to "myCon", an error is encountered. It's saying "The connection name 'LocalSqlServer' was not found in the applications configuration or the connection string is empty."
Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

Your error means it's still looking for that name somewhere. Have you searched your whole project to make sure that name does not exist anywhere ? It has to be coming from somewhere
  Permalink  
Rate this: bad
good
Please Sign up or sign in to vote.

Solution 2

Solved it. Added "<clear/>" just before adding the profile provider.
<providers>
  <clear />
  <add name="ProfileProvider" applicationname="delivermatic" connectionstringname="myCon" type="System.Web.Profile.SqlProfileProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
  Permalink  

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 OriginalGriff 404
1 Maciej Los 239
2 Sergey Alexandrovich Kryukov 182
3 Richard MacCutchan 130
4 CPallini 120
0 OriginalGriff 5,474
1 Sergey Alexandrovich Kryukov 4,713
2 Peter Leow 2,944
3 DamithSL 2,465
4 Maciej Los 2,434


Advertise | Privacy | Mobile
Web01 | 2.8.140718.1 | Last Updated 3 Jan 2013
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Service
Layout: fixed | fluid