0

我正在开发需要成员资格和个人资料访问权限的 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 端点中尝试时,Profile 对象不可用,我找不到任何其他方式来访问它。

有人可以指点我有关如何访问个人资料详细信息的写作方向吗?

4

3 回答 3

0

您是否为您的 WCF 服务启用了 asp.net 兼容性?您是否使用 IIS 托管 WCF 服务,而不是 Windows 服务?

为了使用该行为,您需要执行上述两项操作。

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
public class MyService : IMyService
{
}
于 2009-06-27T00:35:17.553 回答
0

我认为这个问题涵盖了您的问题:

为什么配置文件提供程序没有内置到 Web 应用程序中?

我会尝试使用其中一个答案中提到的 Web Profiler Builder - 似乎可以帮助您。另一种方法是以类似于自动生成的方式对配置文件周围的强类型包装器进行手动编码。

于 2009-06-27T08:43:45.700 回答
0

将此代码添加到 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;
    }

  }
于 2020-06-29T04:01:52.653 回答