You're welcome Shimon,
Good Luck!
Steven Cheng
Microsoft Online Support
Get Secure!
www.microsoft.com/security
(This posting is provided "AS IS", with no warranties, and confers no
rights.)
--------------------
| From: "Shimon Sim" <
[email protected]>
| References: <
[email protected]>
<OClKGX#
[email protected]>
<
[email protected]>
<#
[email protected]>
<
[email protected]>
| Subject: Re: Profile or Custom Class How to migrate to ASP.NEt 2.0
| Date: Sun, 20 Nov 2005 13:34:21 -0500
| Lines: 304
| X-Priority: 3
| X-MSMail-Priority: Normal
| X-Newsreader: Microsoft Outlook Express 6.00.2900.2670
| X-RFC2646: Format=Flowed; Original
| X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2670
| Message-ID: <
[email protected]>
| Newsgroups: microsoft.public.dotnet.framework.aspnet
| NNTP-Posting-Host: ool-44c05922.dyn.optonline.net 68.192.89.34
| Path: TK2MSFTNGXA02.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGP14.phx.gbl
| Xref: TK2MSFTNGXA02.phx.gbl
microsoft.public.dotnet.framework.aspnet:359625
| X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet
|
| That you Steven.
| I think this is clear enough.
| Shimon.
| | > Hi Shimon,
| >
| > Thanks for your response. Regarding on your further questions:
| >
| > ==================
| > I have class like this
| > public class Employee
| > {
| > public string LastName{get{...}set{...}}
| > public string FirstName{get{...}set{...}}
| > public string Email{get{...}set{...}}
| > public int Id{get{...}set{...}}
| > }
| >
| > So I will change config file for something like this
| > <profile enabled="true">
| > <properties>
| > <add name = "LastName" type="string"/>
| > <add name = "FirstName" type="string"/>
| > <add name = "Email" type="string"/>
| > <add name = "Id" type="int"/>
| >
| > </properties>
| > </profile>
| > =====================
| >
| > Not exactly, actually, we should mark the custom class with
[Serializable]
| > attribute as below:
| >
| > [Serializable]
| > public class Employee
| > { ............}
| >
| >
| > Then, in web.config, we can config it as following:
| >
| > <profile enabled="true">
| > <properties>
| > <add name = "EmployeeInfo" type="OurNamespace.Employee"
| > serializeAs="Binary" />
| > </properties>
| > </profile>
| >
| > Then, we can reference that Profile property in code like:
| >
| > void Page_Load(....)
| > {
| > string firstname = Profile.EmployeeInfo.FirstName;
| > ............
| > }
| >
| >
| > If we directly define the "FirstName" , "LastName" ... as Profile
| > properties like:
| >
| > <profile enabled="true">
| > <properties>
| > <add name = "LastName" type="string"/>
| > <add name = "FirstName" type="string"/>
| > ...................
| >
| >
| > We can use them as following:
| >
| > void Page_Load(....)
| > {
| > string firstname = Profile.FirstName;
| > string lastname = Profile.LastName;
| > ............
| > }
| >
| >
| >
| >
| > =================
| > Then I will need to implement MembershipProvider, don't I?
| > ==================
| >
| > Yes, you can implement your custom MembershipProvider. However, ASP.NET
| > 2.0
| > has provided SqlServer membership provider which can help store user
| > account info in sqlserver database (or SQLExpress), does this build-in
| > provider meet your requirement? Also, the default Provider for Profile
| > Services is also SQLserver provider(using SQlExpress database...)
| >
| > Thanks,
| >
| > Steven Cheng
| > Microsoft Online Support
| >
| > Get Secure!
www.microsoft.com/security
| > (This posting is provided "AS IS", with no warranties, and confers no
| > rights.)
| >
| >
| >
| >
| >
| > I don't need to save anything I just want to keep user information
| > available
| > for processing.
| >
| > Then I will need to implement MembershipProvider, don't I?
| > --------------------
| > | From: "Shimon Sim" <
[email protected]>
| > | References: <
[email protected]>
| > <OClKGX#
[email protected]>
| > <
[email protected]>
| > | Subject: Re: Profile or Custom Class How to migrate to ASP.NEt 2.0
| > | Date: Fri, 18 Nov 2005 08:39:22 -0500
| > | Lines: 154
| > | X-Priority: 3
| > | X-MSMail-Priority: Normal
| > | X-Newsreader: Microsoft Outlook Express 6.00.2900.2670
| > | X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2670
| > | X-RFC2646: Format=Flowed; Original
| > | Message-ID: <#
[email protected]>
| > | Newsgroups: microsoft.public.dotnet.framework.aspnet
| > | NNTP-Posting-Host: ool-44c05922.dyn.optonline.net 68.192.89.34
| > | Path: TK2MSFTNGXA02.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGP09.phx.gbl
| > | Xref: TK2MSFTNGXA02.phx.gbl
| > microsoft.public.dotnet.framework.aspnet:359207
| > | X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet
| > |
| > | So let me see if I understood you right.
| > | I have class like this
| > | public class Employee
| > | {
| > | public string LastName{get{...}set{...}}
| > | public string FirstName{get{...}set{...}}
| > | public string Email{get{...}set{...}}
| > | public int Id{get{...}set{...}}
| > | }
| > |
| > | So I will change config file for something like this
| > | <profile enabled="true">
| > | <properties>
| > | <add name = "LastName" type="string"/>
| > | <add name = "FirstName" type="string"/>
| > | <add name = "Email" type="string"/>
| > | <add name = "Id" type="int"/>
| > |
| > | </properties>
| > | </profile>
| > |
| > | I don't need to save anything I just want to keep user information
| > available
| > | for processing.
| > |
| > | Then I will need to implement MembershipProvider, don't I?
| > |
| > | And that's it.
| > | Correct?
| > | Shimon.
| > |
| > |
| > | | > | > Thanks for Keith's detailed input.
| > | >
| > | > Hi Shimon,
| > | >
| > | > Welcome to ASPNET newsgroup.
| > | > Regarding on the scenario you mentioned, I'm not sure whether your
| > | > original
| > | > web application is using Froms Authentication and then associate the
| > | > Session-Data with each authenticated(login ) user. in ASP.NET 2.0
the
| > | > profile service can help store some user specific data, and the user
| > will
| > | > be the current User of the ASP.NET request, so if you're using
| > | > FormsAuthentication(and the corresponding membership service in
| > asp.net
| > | > 2.0), we can make use of the Profile service to store such data. So
| > each
| > | > authenticated user will be associated to his own custom datas.
Also,
| > in
| > | > asp.net 2.0 we can also turn on anonymous:
| > | >
| > | > <system.web>
| > | > <anonymousIdentification enabled="true" />
| > | > ..........
| > | >
| > | > so that anonymous (unauthenticated) user can also have such user
| > specific
| > | > data (through an anonymous user id), and this is just some what
like a
| > id
| > | > associcated with a client session( maintained by cookie....). So
the
| > | > first thing here is make sure the "User" concept here matchs the
one
| > in
| > | > your original asp.net 1.1 application, if so, I think we can
migrate
| > to
| > | > use
| > | > ASP.NET 2.0 profile services well. Otherwise, we may need to do some
| > | > changes ....
| > | >
| > | > As for storing custom data in ASP.NET 2.0 profile service, that's
also
| > | > quite easy, we just need to define our custom class and the simplest
| > | > approach is to mark it as [Serializable], e.g:
| > | > =========================
| > | > [Serializable]
| > | > public class MyUnit
| > | > {
| > | > public string Name = string.Empty;
| > | > public int Count =0;
| > | > public bool Enabled = false;
| > | > }
| > | > ==========================
| > | >
| > | >
| > | > and then, we just need to declare it in the web.config as below:
| > | >
| > | > <system.web>
| > | > <profile enabled="true" automaticSaveEnabled="true" >
| > | > <properties >
| > | > <add name="MyUnit" readOnly="false"
| > | > type="CustomProfileClasses.MyUnit" serializeAs="Binary"/>
| > | > ..........................
| > | >
| > | > #note that we use "serilizeAs='Binary'" because we have mark the
class
| > as
| > | > "Serializable"
| > | >
| > | > Then, we can just access that profile property in page code like:
| > | >
| > | > Page_load
| > | > {
| > | > Profile.MyUnit.Count = 3;
| > | > Profile.MyUnit.Name = "fdfda";
| > | > }
| > | >
| > | >
| > | > If there're any other ideas or questions, please feel free to post
| > here.
| > | >
| > | > Thanks,
| > | >
| > | > Steven Cheng
| > | > Microsoft Online Support
| > | >
| > | > Get Secure!
www.microsoft.com/security
| > | > (This posting is provided "AS IS", with no warranties, and confers
no
| > | > rights.)
| > | >
| > | >
| > | >
| > | >
| > | >
| > | >
| > | >
| > | >
| > | > --------------------
| > | > | From: "Keith Patrick" <
[email protected]>
| > | > | References: <
[email protected]>
| > | > | Subject: Re: Profile or Custom Class How to migrate to ASP.NEt 2.0
| > | > | Date: Thu, 17 Nov 2005 20:14:16 -0600
| > | > | Lines: 11
| > | > | X-Priority: 3
| > | > | X-MSMail-Priority: Normal
| > | > | X-Newsreader: Microsoft Outlook Express 6.00.2900.2670
| > | > | X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2670
| > | > | X-RFC2646: Format=Flowed; Response
| > | > | Message-ID: <OClKGX#
[email protected]>
| > | > | Newsgroups: microsoft.public.dotnet.framework.aspnet
| > | > | NNTP-Posting-Host: cpe-24-175-26-193.houston.res.rr.com
| > 24.175.26.193
| > | > | Path:
| > TK2MSFTNGXA02.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGP14.phx.gbl
| > | > | Xref: TK2MSFTNGXA02.phx.gbl
| > | > microsoft.public.dotnet.framework.aspnet:359100
| > | > | X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet
| > | > |
| > | > | At first, I figured it would be better to wrap the profile and
| > session
| > | > under
| > | > | one user class to maintain app compatibility in scenarios like
this.
| > | > And
| > | > | for backwards compatibility and abstraction, there are advantages
to
| > | > | abstracting profile and session into a single user class.
However,
| > | > | ultimately, you will still need to use the profile and session to
| > take
| > | > full
| > | > | advantage of the GridView-DataSourceControl relationship (they are
| > | > designed
| > | > | to pull values from Form, Session, Profile, QueryString, and one
or
| > two
| > | > | other state storage areas), so it's best to store the custom data
| > with
| > | > the
| > | > | profile in the underlying impelmentation
| > | > |
| > | > |
| > | > |
| > | >
| > |
| > |
| > |
| >
|
|
|