我希望有一個這樣的類,如何阻止通過Web服務暴露的setter?
public class Apple
{
public string Size { get; set;}
public string Colour { get; set;}
public string Shape { get; set;}
public int appleId { get; set;}
}
我想要使用一些Web方法這樣通過web服務揭露,
public void AddApple(Apple apple)
{
}
public Apple GetApple(int appleId)
{
}
所以,當我添加在Visual Studio中的服務引用到那個webservice我得到客戶代理對象爲我生成允許我在客戶端創建一個蘋果,併發送到web服務。
有沒有辦法讓我在客戶端只能讀取其中一個屬性?我需要那些設置器,以便我可以在服務器端設置值,但是我想控制在客戶端可以更新哪些數據。
任何想法?
我可以做的是在構造函數中傳入一些數據,並且只將暴露的getter放在我想要讀取的數據上,但我想在服務器端使用對象映射器。這意味着理想的情況下,我想讓那些定居者離開那裏。
實現這一點的另一種方式是有兩班。其中一個將從「getter」方法返回並具有所有屬性。另一個將被「setter」或「adder」方法接受,並且只有客戶端可以明確設置的那些屬性。 – qbeuek 2010-09-09 05:47:53
@qbeuek,你是對的!當您的評論彈出時,我正在編輯我的答案(表明類似的解決方案)。答案現在被編輯以包含相同的內容。 – VinayC 2010-09-09 06:00:13