我应该将什么用于WCF模块化设计?

时间:2013-08-02 11:02:21

标签: asp.net-mvc wcf castle-windsor mef modularization

我们的应用程序是部署在分布式环境中的企业应用程序。 它是一个ASP.NET MVC 2.0项目,连接到另一台服务器上的WCF项目。 我们需要的是使我们的业务模块可重用和可测试。

那么什么是WCF最好的解耦方法?是温莎城堡WCF设施吗?或者我应该使用Common Service Locator方法吗?为什么?

1 个答案:

答案 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类。