<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      UCenter 與 Asp.net 通訊

      此文已過時,最新版在:

      目錄:

      1. 開篇
      2. 通訊原理:UCenter API 與子站之間的通訊原理和單點登陸原理
      3. 加密與解密:AuthCode詳解 & AuthCode函數翻譯過程中的注意點
      4. 網站搭建: 康盛旗下網站 & Asp.net 網站搭建

      前言

      學生在線下面有多個子站,其中包括一個Discuz論壇

      那當然要充分利用強大的UCenter來實現多點登陸

      UCenter和別的網站跨域通訊,那用的肯定是WebService

      PHP官方封裝好了,所以很容易就搞定了,但是.Net…

      網上找不到任何核心的通訊手冊,除非去扣那個PHP的開發手冊

      Google后:

      UCenter 接口開發手冊:這個就是官方封裝過的版本,其實這個根本不能叫接口開發手冊,里面介紹的都是已經封裝過的PHP函數,對核心只字不提

      一個項目文件:剛看到這個我很興奮,但是按照它說的調整好后,卻不能用!一開始還不懂為什么,懂得原理后才知道,它其實是個空殼

      一個DLL文件:這個DLL很強大,可惜,沒有例程、沒有手冊、沒有注釋,還有BUG…

      但是相對來說,最后的那個DLL是最接近的,所以決定反編譯之,開始研究

      最后就有了Dozer編輯版~ 成功實現通訊!

      來源:dozer.cnblogs.com 作者:Dozer

      UCenter通訊原理

      原理網上很多,我也只是知道一個皮毛,在這里就以同步登陸為例子,來講解一下這個類庫的用法

      login

      以上就是同步登陸的步驟,如果你已經配置好,那么只需要這3行代碼

      namespace WebApplication1
      {
          public partial class Default : System.Web.UI.Page
          {
              protected void Page_Load(object sender, EventArgs e)
              {
                  var uc = new UCClient();
                  var user = uc.UC_User_Login("user", "password").User;
                  Response.Write(uc.UC_User_Synlogin(user.Uid));
              }
          }
      }

      總之,在你的網站程序中需要有2個部分

      一個是UCAPI部分,需要給UCenter調用

      另外一部分就是UClient部分,用于調用UCenter

      這樣才能在最后實現雙向通訊

       來源:dozer.cnblogs.com 作者:Dozer

      UCenter端配置過程

      按照慣例,登陸UCenter后臺,然后添加應用程序

      別的地方和PHP網站一樣,只有一個地方,就是“應用接口文件名稱”的地方

      需要填寫uc.ashx

      這個和此類庫的原理有關,后面詳解

      1

      提交…可惜,顯示通訊不成功,因為我的網站還沒配置呢~

      提交后再次編輯,會得到一段PHP的配置信息

      define('UC_CONNECT', 'mysql');
      define('UC_DBHOST', localhost');
      define('UC_DBUSER', 'root');
      define('UC_DBPW', 'mysql');
      define('UC_DBNAME', 'uc_discuz');
      define('UC_DBCHARSET', 'utf8');
      define('UC_DBTABLEPRE', '`uc_discuz`.uc_');
      define('UC_DBCONNECT', '0');
      define('UC_KEY', 'qwertyui');
      define('UC_API', 'http://localhost/ucenter');
      define('UC_CHARSET', 'utf-8');
      define('UC_IP', '127.0.0.1');
      define('UC_APPID', '19');
      define('UC_PPP', '20');

      先留著,后面會用到~

       來源:dozer.cnblogs.com 作者:Dozer

      WebApplication端配置過程

      第一步當然是Web.config文件

      新建一個網站應用程序,并且引用這個類庫

      上面的配置信息是PHP用的,我們把它轉換到Web.config文件中去

      <appSettings>
      	<add key="UC_CONNECT" value="mysql"/>
      	<add key="UC_DBHOST" value="localhost"/>
      	<add key="UC_DBUSER" value="root"/>
      	<add key="UC_DBPW" value="mysql"/>
      	<add key="UC_DBNAME" value="uc_discuz"/>
      	<add key="UC_DBCHARSET" value="utf8"/>
      	<add key="UC_APPIDUC_DBTABLEPRE" value="`uc_discuz`.uc_"/>
      	<add key="UC_DBCONNECT" value="0"/>
      	<add key="UC_KEY" value="qwertyui"/>
      	<add key="UC_API" value="http://localhost/ucenter"/>
      	<add key="UC_CHARSET" value="utf-8"/>
      	<add key="UC_IP" value="127.0.0.1"/>
      	<add key="UC_APPID" value="19"/>
      	<add key="UC_PPP" value="20"/>
      </appSettings>

      來源:dozer.cnblogs.com 作者:Dozer

      第二步是建立UCAPI,供UCenter調用(這步完成后UCenter中會顯示通訊正常)

      1、新建一個叫API的文件

      2、在里面建立一個新文件uc.ashx(不要建立.aspx)

      3、打開這個uc.ashx文件,本來它繼承于IHttpHandler,我們把它修改一下,讓它繼承于FS.API.UCenter.UCAPI.UCAPIBase

      4、實現一下這個抽象類的函數(利用VS的代碼自動完成功能)

      5、接下來你就可以在這里寫一些邏輯代碼了

      比如,當有人在別的站同步登陸后,會通知你的站點

      然后會調用 Synlogin 函數,這時候,你就需要在這個函數里寫一些代碼

      例如:寫cookie之類的

      Q:UCenter為什么不直接寫Cookie,子站讀Cookie?

      A:UCenter實現的是跨域登陸,所以每個子站的Cookie是分開的,需要自己實現!

      好了,完成這步后打開UCenter,你會發現:通訊成功!

      UCenter測試通訊成功僅僅是調用了一個test函數,只要上述配置沒寫錯,那就會顯示通訊成功!但是它還不能實現任何功能,需要把上面的那些函數完善~

      來源:dozer.cnblogs.com 作者:Dozer

      第三步是在網站中調用UCenter的接口了

      這個超級簡單,其實“UCenter通訊原理”那部分代碼

      為什么要Respon.Write這段東西?

      這和UCenter同步登陸原理有關,向UCenter傳遞信息,告訴它要同步登陸后,它不會自己通知別的子站,而是返回一段JS,需要你的網站調用這段JS,然后通知各個子站

      OK了~所有配置完成~

      來源:dozer.cnblogs.com 作者:Dozer

      我對原來的那個DLL做了什么?

      1、原來的DLL編碼部分有幾個嚴重的問題,導致編碼錯誤,無法提交表單

      2、原來的DLL估計是很久以前寫的,里面序列化和反序列化的時候,規則和現在UCenter的規則不同,我根據現在的規則,修改了一下

      3、修復別的一些小BUG

      來源:dozer.cnblogs.com 作者:Dozer

      類庫下載&示例代碼

      代碼的原始作者找不到了,遵循開源精神

      另外不保證目前代碼全部正確,我只是測試了幾個函數

      類庫源代碼:下載

      示例代碼:下載

      來源:dozer.cnblogs.com 作者:Dozer

      posted @ 2010-09-21 02:15  Dozer  閱讀(9441)  評論(39)    收藏  舉報
      主站蜘蛛池模板: 极品美女aⅴ在线观看| 亚洲国产成人无码影片在线播放| 天堂资源在线| 亚洲国产精品综合久久2007| 亚洲热妇无码av在线播放| 国产jizzjizz视频| 人妻体内射精一区二区三区| 67194熟妇在线直接进入| 亚洲一区久久蜜臀av| 成人亚欧欧美激情在线观看| 亚洲国产精品久久久天堂麻豆宅男 | 青青草无码免费一二三区| 9999国产精品欧美久久久久久| 欧美性猛交xxxx免费看| 国产精品色哟哟在线观看| 亚欧美闷骚院| 99久久久无码国产麻豆| 少妇被粗大的猛烈xx动态图| 99久久精品国产免费看| 国产精品久久久久久久久久妞妞| 久久日产一线二线三线| 91麻豆视频国产一区二区| 免费人妻无码不卡中文18禁| 黄色三级亚洲男人的天堂| 国产成人不卡一区二区| 亚洲一本大道无码av天堂| 东京道一本热中文字幕| 欧美丰满熟妇xxxx性| 亚洲 丝袜 另类 校园 欧美| 亚洲国内精品一区二区| 无码人妻一区二区三区四区AV | 99RE6在线观看国产精品| 国产乱码精品一品二品| 久久亚洲国产品一区二区| 亚洲色一色噜一噜噜噜| 极品美女扒开粉嫩小泬图片| 综合久久婷婷综合久久| 亚洲国产精品自产在线播放| 亚洲欧美国产日韩天堂区| 国产一区二区三区色老头| 国产av永久无码天堂影院|