我正在爲不同的客戶端創建Web服務。所以,我有3類3種不同類型的客戶端:如何製作具有不同屬性的C#模板
類型1:
[WebMethod]
[SoapRpcMethod(Use = System.Web.Services.Description.SoapBindingUse.Literal)]
public string databaseConnectionInfo()
{
return WSExecute.Executer.databaseConnectionInfo(System.Web.HttpContext.Current);
}
類型2:
[WebMethod]
public string databaseConnectionInfo()
{
return WSExecute.Executer.databaseConnectionInfo(System.Web.HttpContext.Current);
}
類型3:
[WebMethod]
public XmlDocument databaseConnectionInfo()
{
return this.convert(WSExecute.Executer.databaseConnectionInfo(System.Web.HttpContext.Current));
}
正如你所看到的功能幾乎是相同的 - 他們都稱同一個工作班,只是他們在attirbutes(Type1與Type2)不同或稱之爲一個僅將字符串轉換爲XMLDocument的附加函數。
問題: C#或Visual Studio如何幫助我創建某種模板或某種模板來管理它。我面臨的問題是將會有超過100個函數,並且接口將由不同的程序員管理,這些程序員在C#中並不都很好。因此,他們會忘記在三個不同類別/來源中編寫「相同」代碼:(
有人知道如何解決問題Type1與Type2(忘記關於Type 3)Type1和2實際上是相同的來源,除了: 1.類名稱是不同 2.在類型1每個函數都有一個額外SoapRpcMethod屬性
對於我現在通過使用預處理器(我自己的程序),其從1個源產生3種源,然後調用C#解決這個編譯器,但它很笨拙,並且很難理解某人對C#編程不太熟悉,因爲Web服務用於訪問Oracle服務器,因此c#web服務只是一個外觀,並且Web服務中沒有應用程序邏輯,只能調用PL/S QL程序等C#Web服務由Oracle程序員不熟悉Windows/C#託管...
TIA Matjaz
感謝您的回答,但問題是他們必須在三個不同的類中編寫一行代碼。我已經使用了所有可以使用的模式,並使用1行預先功能生活。 但是這行必須寫入三個不同的類,它們爲三種不同類型的客戶端產生三種不同的web服務。除了每個類中的函數屬性之外,所有內容幾乎都是相同的 – Matjaz 2013-04-29 10:17:00