我希望有一个这样的类,如何阻止通过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