我已经分离了MVC和WCF服务的网站。我有一个问题,如何在接口和服务层之间交换数据?我想提高生产力,同时保持正确的架构。我的解决方案中有许多常量字典,用于表征不同的对象。所以有时我需要为一个页面提供5个或更多服务调用来获取comboBox的可用值。如何加快速度并使其适合其他情况?
对于前。你有一个页面课。
public class Person
{
public int Id {get; set;}
public string Name {get; set;}
}
您需要为人员添加状态,并从值列表中进行选择,以便在界面中进行编辑。
选项1。
public class Person
{
//......
public KeyValuePair<int,string> State {get; set;}
}
对于填充组合框值,根据需要,您应该从服务中调用 GetPersonStates()。当你更新对象时,它还不清楚如何处理对的值。
选项2。
public class Person
{
//......
public int StateId {get; set;}
}
对于只读操作,您应该从service获取stateName。 对于填充组合框值,您可以根据需要从服务中调用 GetPersonStates()。
选项3。
public class Person{
//.........
public int StateId {get; set;}
}
public class PersonPage{
public Person Person {get; set;}
public Dictionary<int, string> StateDict {get; set;}
}
在get方法中,您使用PersonPage对象(stateDict具有comboBox的值)。在post方法中,你使用person对象whith stateId作为参数。
SavePerson(Person person, int stateId);
选项4。
public class Person{
//.........
public int StateId {get; set;}
}
并将缓存的值存储在MVC中。
public Dictionary<int, string> StateDict {get; set;}
这与第二种方法非常相似,但它可以节省时间。
您更喜欢哪种选择?或者建议别人。