DomainService 'XXXService' does not contain any public domain operation?

namhyuk 2011-01-24 09:55:59
错误提示:DomainService 'UserRegistrationService' does not contain any public domain operations.

主要是想自定义用户注册的Domain Service,从Business app模板拷贝了UserRegistrationService.cs,做了一些小的改动,然后就提示这个错误,我想不起来public domain operation应该是什么样子了。



[EnableClientAccess()]
public class UserRegistrationService : DomainService
{
public const string DefaultRole = "messenger";

public CreateUserStatus CreateUser(RegistrationData user, string password)
{
if (user == null)
{
throw new ArgumentNullException("user");
}

if (!Roles.RoleExists(UserRegistrationService.DefaultRole))
{
Roles.CreateRole(UserRegistrationService.DefaultRole);
}

MembershipCreateStatus createStatus;
Membership.CreateUser(user.UserName, password, string.Empty, string.Empty, string.Empty, true, null, out createStatus);

if (createStatus != MembershipCreateStatus.Success)
{
return UserRegistrationService.ConvertStatus(createStatus);
}

Roles.AddUserToRole(user.UserName, UserRegistrationService.DefaultRole);

ProfileBase profile = ProfileBase.Create(user.UserName, true);
profile.SetPropertyValue("FriendlyName", user.FriendlyName);
profile.Save();

return CreateUserStatus.Success;
}
private static CreateUserStatus ConvertStatus(MembershipCreateStatus createStatus)
{
switch (createStatus)
{
case MembershipCreateStatus.Success: return CreateUserStatus.Success;
case MembershipCreateStatus.InvalidUserName: return CreateUserStatus.InvalidUserName;
case MembershipCreateStatus.InvalidPassword: return CreateUserStatus.InvalidPassword;
case MembershipCreateStatus.InvalidQuestion: return CreateUserStatus.InvalidQuestion;
case MembershipCreateStatus.InvalidAnswer: return CreateUserStatus.InvalidAnswer;
case MembershipCreateStatus.InvalidEmail: return CreateUserStatus.InvalidEmail;
case MembershipCreateStatus.DuplicateUserName: return CreateUserStatus.DuplicateUserName;
case MembershipCreateStatus.DuplicateEmail: return CreateUserStatus.DuplicateEmail;
default: return CreateUserStatus.Failure;
}
}

public enum CreateUserStatus
{
Success = 0,
InvalidUserName = 1,
InvalidPassword = 2,
InvalidQuestion = 3,
InvalidAnswer = 4,
InvalidEmail = 5,
DuplicateUserName = 6,
DuplicateEmail = 7,
Failure = 8,
}
}
...全文
197 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
namhyuk 2011-01-26
  • 打赏
  • 举报
回复
Its primary job is to indicate the "RegistrationData" class should be made available to the Silverlight client.
public IEnumerable<RegistrationData> GetUsers()
{
throw new NotSupportedException();
}

[Invoke]
public CreateUserStatus CreateUser(RegistrationData user, string password)
{
...

加上[Invoke]。问题是什么时候加,什么时间不加呢?DomainService CRUD方法不也没加[Invoke]吗?

8,735

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧