Членство ASP.net и профили в WCF

Я работаю над службой WCF, для которой требуется членство и доступ к профилю.

Я заработал с членством, используя System.Web. Security.Membership и вызовы CreateUser() и ValidateUser(), но я не могу заставить профиль работать. Я даже не знаю, какой класс вызывать, все примеры, которые я видел, предназначены для ASP.net, как тот, который я разместил ниже,

protected void Page_Load(object sender, EventArgs e)
{
    if (!Page.IsPostBack)
    {
        txtFirstName.Text = Profile.FirstName;
        txtLastName.Text = Profile.LastName;
        int foo = Profile.Age;
    }
}

когда я пытаюсь сделать это в своей конечной точке WCF, объект профиля недоступен, и я не могу найти другого способа получить к нему доступ.

может кто-нибудь указать мне направление записи о том, как получить доступ к данным профиля?


person kay.one    schedule 27.06.2009    source источник


Ответы (3)



Включили ли вы совместимость asp.net для службы WCF? Вы разместили свою службу WCF в IIS, а не в службе Windows?

Чтобы использовать это поведение, вам нужно сделать оба вышеперечисленных действия.

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
public class MyService : IMyService
{
}
person Ray Lu    schedule 27.06.2009
comment
Я добавил [AspNetCompatibilityRequirements] в свой рабочий контракт, а также web.config. ‹serviceHostingEnvironment aspNetCompatibilityEnabled=true/›, но Profile. ничего не возвращает на intelisence, - person kay.one; 27.06.2009

Добавьте этот код в файл web.config

      <system.web>
        <profile enabled="true">
                <properties>
                    <add name="Name"/>
                    <add name="Gender"/>
                    <add name="MobileNo"/>
                    <add name="Address"/>
                </properties>
            </profile>
    </system.web>

файл default.aspx.cs

  protected void Page_Load(object sender, EventArgs e)
  {

     if (!Page.IsPostBack)
     {
        txtFirstName.Text = Profile.Name;
        txtGender.Text = Profile.Gender;
        txtMobile.Text=Profile.MobileNo;
        textAddress=Profile.Address;
    }

  }
person AJAY KACHHIYAPATEL    schedule 29.06.2020