Vitaminc.net on CSDN

范维肖ID:lovewangshu
8780次访问,排名11263(1)好友6人,关注者4
lovewangshu的文章
原创 20 篇
翻译 0 篇
转载 0 篇
评论 2 篇
维生素C.net的公告
人才频道最新招聘信息(C#):

Books Reading:


最近评论
venjiang:大型值类型 是啥意思?
Jack:建议用用CodeSmith更方便一些
文章分类
收藏
    相册
    ghq
    Link
    维生素C.net@博客园
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 Applied Windows Live Custom Domains (3) - SOAP Calls to the Web Service收藏

    新一篇: 结构体,值类型和接口

    如果您想自己血访问Windows Live Custom Domains Web服务的代码,那么需要看一下下面的几个方法。

    GetLoginUrl

    public string GetLoginUrl(string memberName)
    调用:GetLoginUrl(fanweixiao@hotmail.com)
    返回:为了使用我们的服务的Passport的登陆URL

    GetLoginDataTemplate

    public string GetLoginDataTemplate()
    获取用以获得Passport认证票据(Passport authentication ticket)的数据模版(data template)。
    注意:该方法调用后我们必须使用域管理员的登陆名和密码来替换模版中的值,然后再去调用Passport,因为这个模版是不会改变的,我们只需要在每次操作(session)调用它一次。

    VerifyAuthData

    public bool VerifyAuthData(string authData)
    将GetLoginDataTemplate()方法返回的修改后的数据发送到GetLoginUrl()返回的URL上来验证登陆用户,如果是有效的域管理员将返回true。
    上面这三个方法可以创建Passport的票据,我们只需要登陆一次,之后直接可以进行添加、删除、导入和弃用(evict)的操作。该票据过期时间至少为1小时。

    AddUser

    public void AddUser(string name, string password, bool resetPassword, string authData)
    需要注意的是name要是vc@onlyvc.org这种样式的,密码是用来登陆hotmail的。resetPassword如果为true的话那么新用户第一次登陆到hotmail时需要修改密码。
    需要注意的是我们在调用该方法前需要先调用西面的GetUserState方法来判断该用户名是否可以被添加。

    GetUserState

    public enum GetUserState(string name, string authData)

    返回该用户名所对应用户的状态。它的几个返回值:
    0:表明有效,可以被注册。
    1:被屏蔽,该用户名存在非法字符
    2:该用户已经被注册了。
    3:该用户曾经是一个Passport账户并且与Hotmail收件箱想绑定,在过去的30天内该账户被删除了。基于Hotmail的机制,这些账户不能在30天内被再次应用的。这种情况经常出现与如果一个用户名使用过Messenger的离线消息收件箱(OIM inbox,Offline Instant Messenger),OIM使用hotmail存储离线消息,这个特性被新的Messenger的Live服务所广泛使用。
    4:已经存在EASI账户(EASI在上一篇文章中有介绍)。如果我们想创建新账户可以先弃用该账户。

    DeleteUser

    public void DeleteUser(string name, string authData)
    这个方法要谨慎使用,因为被删除的用户不但丢失所有的email还会被关30天禁闭才能再被使用。下一次这个用户登陆的时候它将被告知需要修改它的Passport账户名称,与我们的域也没有什么关系了。

    EnumUsers

    public string[] EnumUsers(string domainName, string start, int num, string authData)

    start指明了返回列表的开始值,为""时返回所有用户名,以字符串数组形式存放,num表示了返回的个数,最大允许值是500,所以如果该参数值为500以上的话可以返回所有用户。

    ImportUser

    public void ImportUser(string name, string authData)

    导入一个已经在Passport上注册的用户。参考上一篇blog的描述可得知该方法的目的。这个方法的调用可能失败,情况如下:

    1. 用户不存在与Passport中
    2. 用户已经在该域的管理范围之内了(已经被导入或添加了)

    EvictSquatter

    public void EvictSquatter(string name, string authData)

    也是在上一篇blog的相关介绍,同ImportUser一样也可能失败,原因也一样。

    EnumDomains

    public DomainState[] EnumDomains(string authData)
    返回所有该管理员管理的域信息。
    DomainState[]由下面三部分组成:

    1. Domain name 域名(string)
    2. Active state 活动状态(boolean)
    3. MX record MX记录 (string)

    如果一个域名有多个管理员,MX记录将显示该登陆用户所这设置的。

    GetDomainState

    public DomainState[] GetDomainState(string domainName, string authData)
    获得一个域的状态信息。DomainState[]的组成同上

     

    To Be Continued ...

    发表于 @ 2007年03月05日 22:54:00|评论(loading...)|编辑

    旧一篇: Applied Windows Live Custom Domains (2) - SDK简介

    评论:没有评论。

    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © 维生素C.net