SORU
9 Ocak 2009, Cuma


Nasıl Profil değerlerini atamak için?

Eksik ne olduğumu bilmiyorum, ama Web Profil özellikleri ekledim.config ama erişim Profili dosyası açılamıyor.Maddekodu veya yeni bir profil oluşturmak.

CEVAP
10 Temmuz 2009, Cuma


Aynı sorunu bugün yaşadım ve çok şey öğrendim.

Visual Studio "Web Sitesi Projeleri" ve "Web Uygulama Projeleri." -- proje iki tip insan vardır. Benim için tam bir gizem olan nedenlerden dolayı, Web Uygulama Projeleri kullanamazsınızProfil.doğrudan... kesinlikle yazılan sınıfı sihirli bir şekilde Web üzerinden sizin için oluşturulur.yapılandırma dosyası, kendi rulo zorunda.

MSDN örnek kod, bir Web Sitesi Projesi kullandığınızı varsayar, ve onlar sadece Web.config ve partine <profile> bir bölüm eklemek için Profile. şikayetözellikWeb Uygulama Projeleri için işe yaramıyor ama.

Kendi rulo için iki seçeneğiniz var:

(1) Web Profile Builder Kullanın. Bu Visual Studio için eklenti otomatik olarak Web tanımına ihtiyaç duyduğunuz Profili nesne oluşturur özel bir araçtır.config.

Seçtim değil bunu yapmak istemediğimden benim koda bağlı bu ekstra araç derlemek için, hangi neden olabilir sorunları için başka birini sonuna kadar zaman çalıştılar inşa kodumu farkında olmadan bu ihtiyaçları vardı bu araç.

(2) ProfileBase özel profili temsil etmek için türetilmiş kendi sınıf Olun. Bu göründüğünden daha kolaydır. Burada "FullName" dize profil alanı: . bir ekler çok basit bir örnek

Web.config:

<profile defaultProvider="SqlProvider" inherits="YourNamespace.AccountProfile">

<providers>
     <clear />
     <add name="SqlProvider"
          type="System.Web.Profile.SqlProfileProvider"
          connectionStringName="sqlServerMembership" />
</providers>

</profile>

Bir dosya AccountProfile aradı.cs:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Profile;
using System.Web.Security;

namespace YourNamespace
{
    public class AccountProfile : ProfileBase
    {
        static public AccountProfile CurrentUser
        {
            get { return (AccountProfile)
                         (ProfileBase.Create(Membership.GetUser().UserName)); }
        }

        public string FullName
        {
            get { return ((string)(base["FullName"])); }
            set { base["FullName"] = value; Save(); }
        }

        // add additional properties here
    }
}

Profil için bir değer ayarlayın:

AccountProfile.CurrentUser.FullName = "Snoopy";

Profili bir değeri olsun

string x = AccountProfile.CurrentUser.FullName;

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • AndyMcMillinTV

    AndyMcMillin

    6 HAZİRAN 2007
  • george sarintzotis

    george sarin

    2 Aralık 2007
  • sinumatic

    sinumatic

    19 Aralık 2006