我们的应用程序是部署在分布式环境中的企业应用程序。 它是一个ASP.NET MVC 2.0项目,连接到另一台服务器上的WCF项目。 我们需要的是使我们的业务模块可重用和可测试。
那么什么是WCF最好的解耦方法?是温莎城堡WCF设施吗?或者我应该使用Common Service Locator方法吗?为什么?
答案 0 :(得分:1)
以下是如何创建Execute(string type, string json)
方法的示例:
[OperationContract]
public void Execute(string type, string json)
{
Type commandType = Type.GetType(commandType);
Type commandHandlerType = typeof(ICommandHandler<>).MakeGenericType(commandType);
dynamic commandHandler = Bootstrapper.GetInstance(commandHandlerType);
dynamic command = JsonConvert.DeserializeObject(json, commandType);
commandHandler.Handle(command);
}
代码示例使用JSON.NET将JSON反序列化为对象。如果您更喜欢XML,也可以使用XmlSerializer
类。