在不使用配置文件的情况下配置WCF并使用默认构造函数实例化代理客户端

时间:2011-06-30 21:06:12

标签: wcf channelfactory wcf-configuration

我不确定这是否可能是诚实的,

我想知道是否有一种方法可以删除配置文件的使用而不必覆盖客户端代理的创建。让我举个例子:

在客户端应用程序中,我们有一个WCF DAL项目。这是客户端应用程序使用的WCF服务器的包装器。目前客户端应用程序需要配置文件中给出的所有绑定和端点,并且通常(在我们的项目中)执行类似以下操作来包装WCF服务:

public MyObject GetMyObject(int id)
{
    using(var service = new MyObjectDataServiceClient())
    {
         return service.GetMyOBject(id);
    }
}

这将创建对服务器的调用并返回一个对象。如果客户端应用程序没有绑定和端点,它会爆炸。我们可以更改数据服务客户端的每个创建以创建绑定和端点,或者创建我们自己的chanelfactory来为我们执行此操作,但这意味着更改当前的WCF DAL层代码。

我的目标是尝试创建一种将流程插入到WCF DAL层的方法,该层将处理绑定和端点,而不需要更改消费代码,同时不需要配置文件。

到目前为止,我的想法是尝试使用TT文件,以便创建数据服务客户端的部分类并覆盖通道工厂部分。这失败是因为数据服务客户端的构造函数调用直接进入抽象类(System.ServiceModel.ClientBase< T>)并尝试获取配置内容。我找不到一种方法来阻止它通过这个部分类查看配置,而不是更改WCF DAL服务层。

1 个答案:

答案 0 :(得分:1)

如果在DAL上有绑定和端点,则可以使用客户端类的不同构造函数(一个使用绑定+端点地址的构造函数)。该构造函数完全绕过配置,因此您不需要在配置中包含任何内容。

相关问题