asp.net webservice 支援絕大多數的基元型別及其陣列,另外還支援自定義的結構(struct)、型別(class)、列舉(enum)、dataset、xmlelement、xmlnode、集合(ienumerable/icollection)等。
asp.net webservice 使用 xmlserializer 進行序列化操作,對於自定義型別要注意以下幾點:
1. 只能序列化可讀寫公共屬性和字段。唯讀屬性(get;)、唯讀字段(readonly)、常量(const)以及所有的非 public 資料成員都不會被序列化。
2. 自定義型別必須具有不接受任何引數的預設建構函式。
3. 不能序列化方法。客戶端生成的**物件不包含任何自定義型別方法(不是webmethod)。
基於以上幾點,因此我們最好只定義純粹用來傳輸復合資料的資料型別(data object)。
以下是一些演示**。
基元型別
[webservice(namespace = "http://www.rainsts.net/", description="我的web服務")]
[webservicebinding(conformsto = wsiprofiles.basicprofile1_1)]
public class webservice : system.web.services.webservice
[webmethod]
public datetime getnowtime()
[webmethod]
public string getstringarray();}
[webmethod]
public float getfloatarray();}
[webmethod]
public byte getbytes()
} 列舉 enum
public enum ***
[webservice(namespace = "http://www.rainsts.net/", description="我的web服務")]
[webservicebinding(conformsto = wsiprofiles.basicprofile1_1)]
public class webservice : system.web.services.webservice
[webmethod]
public *** get***()
[webmethod]
public *** getall***()
} 結構 struct
結構體預設就會建立無引數構造方法,且不允許自定義。
public struct mystruct
}
[webservice(namespace = "http://www.rainsts.net/", description="我的web服務")]
[webservicebinding(conformsto = wsiprofiles.basicprofile1_1)]
public class webservice : system.web.services.webservice
[webmethod]
public mystruct getmystruct()
[webmethod]
public mystruct getmystructs()
; ;}
}型別 class
public struct mystruct
}
public class myclass
public myclass(int x, int y, string name) : this()
private string name;
public string name
set
}private mystruct mystruct;
public mystruct mystruct
set
}public void test() // 客戶端**不會生成該方法。
}
[webservice(namespace = "http://www.rainsts.net/", description="我的web服務")]
[webservicebinding(conformsto = wsiprofiles.basicprofile1_1)]
public class webservice : system.web.services.webservice
[webmethod]
public myclass getmyclass()
[webmethod]
public myclass getmyclassarray()
; ;}
}有關資料型別的更詳細資訊,請檢視 msdn 文件。
ms-help://ms.msdnqtr.v80.chs/ms.msdn.v80/ms.visualstudio.v80.chs/dv_fxwebservices/html/70567d9f-6e53-42a8-bbd5-aee42b25dd28.htm
3 支援向量機
3.1 本質 基本模型是定義在特徵空間上的間隔最大的線性分類器。核技巧使之成為實質上的非線性分類器。學習策略是間隔最大化,可形式化為求解凸二次優化問題。等價於正則化的合頁損失函式的最小化問題。學習演算法是求解凸二次規劃的最優化演算法。理解支援向量機可以從簡至繁推進 線性可分支援向量機 硬間隔svm ...
機器學習筆記(二 支援向量機)
本次筆記基於mooc平台浙江大學的機器學習課程 對於乙個訓練樣本集,i 1 n,若存在 w,b 使得使得滿足下式,則是線性可分問題。要求這樣的乙個超平面 在二維平面中是一條直線 則要滿足以下公式 證明過程如下 首先要確認兩個事實,即 和 則可以根據線性可分問題的滿足式,用a來縮放 w,b 使得找到某...
mac sublime2支援中文
一 安裝package control 按照提示複製一段python命令安裝package control,也可以直接複製這一段到控制台 ctrl import urllib2,os pf package control.sublime package ipp sublime.installed p...