.NET服務(wù)端SDK集成
本文介紹如何在.NET服務(wù)端集成SDK代碼。
前提條件
已為您的阿里云賬號創(chuàng)建AccessKey。詳細(xì)操作指導(dǎo)請參見創(chuàng)建AccessKey。
已從阿里云驗(yàn)證碼控制臺下載.NET服務(wù)端SDK包。
服務(wù)端開發(fā)環(huán)境為.NET Framework 4.0或以上版本。
安裝SDK
在解壓的SDK包中,找到aliyun-net-sdk-afs.dll和aliyun-net-sdk-core.dll文件。
將這兩個文件導(dǎo)入您的服務(wù)端工程中。
例如,在Visual Studio中,右鍵單擊項(xiàng)目,選擇添加引用 > 瀏覽,選擇并添加這兩個DLL文件。
添加成功后,您就可以在您的服務(wù)端工程中使用阿里云驗(yàn)證碼的.NET SDK。
注意事項(xiàng)
與阿里云驗(yàn)證碼服務(wù)端SDK相關(guān)的類都在com.aliyuncs.IAcsClient包中。
SDK調(diào)用接口的默認(rèn)連接超時時間是3秒,讀取超時時間是80秒。您可以調(diào)用帶有connectTimeout和readTimeout的構(gòu)造方法來自定義設(shè)置SDK調(diào)用接口的連接超時時間和讀取超時時間。
初始化IClientProfile
IClientProfile是與阿里云驗(yàn)證碼服務(wù)端交互的接口,所有SDK的操作都需要通過IClientProfile完成。
IClientProfile可以復(fù)用,建議將其設(shè)置成應(yīng)用程序全局唯一。
String regionid = "cn-hangzhou";
String accessKeyId = "*** Provide your AccessKeyId ***";
String accessKeySecret = "*** Provide your AccessKeySecret ***";
// Create a new IClientProfile instance
IClientProfile profile= DefaultProfile.getProfile(regionid, accessKeyId, accessKeySecret);
IAcsClient client = new DefaultAcsClient(profile);
DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", "afs", "afs.aliyuncs.com");
調(diào)用阿里云驗(yàn)證碼服務(wù)端接口
IClientProfile完成后,即可調(diào)用AnalyzeNvcRequest接口,根據(jù)業(yè)務(wù)需要開發(fā)前端頁面請求的處理類和對運(yùn)行結(jié)果的處理方式。
public void Test()
{
AnalyzeNvcRequest request = new AnalyzeNvcRequest();
request.Data = "xxx";//必填參數(shù),由前端獲取getNVCVal方法獲得的值。
//通過setScoreJsonStr方法聲明"服務(wù)端調(diào)用阿里云驗(yàn)證碼接口得到的返回結(jié)果"與"前端執(zhí)行操作"間的映射關(guān)系,并通知驗(yàn)證碼服務(wù)端進(jìn)行二次驗(yàn)證授權(quán)。
//注意:前端頁面必須嚴(yán)格按照該映射關(guān)系執(zhí)行相應(yīng)操作,否則將導(dǎo)致調(diào)用異常。
//例如,在setScoreJsonStr方法中聲明"400":"NC",則當(dāng)服務(wù)端返回400時,您的前端必須喚醒滑動驗(yàn)證(SC),如果喚醒其他驗(yàn)證,則將導(dǎo)致失敗。
request.ScoreJsonStr("{\"200\":\"PASS\",\"400\":\"NC\",\"800\":\"BLOCK\"}");//根據(jù)業(yè)務(wù)需求設(shè)置各返回結(jié)果對應(yīng)的客戶端處置方式。
try
{
AnalyzeNvcResponse response = client.GetAcsResponse(request);
// TODO
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
}
}