WCF客户端实例化

Nic*_*ick 5 asp.net-mvc wcf web-services

我有一个使用WCF服务(WSHttpBinding)的mvc控制器类,有时在一个http请求中有多个调用,并且想知道为该服务创建客户端的成本是多少.是否可以为每次调用创建客户端实例,还是应该在类中创建成员变量?

public class RingbacksController : Controller
{
    private void LoadContactsIntoViewData(int page)
    {
                RingbackServiceClient client = new RingbackServiceClient();
        ...
        client.Close();
    }

    private void LoadGroupsIntoViewData(int page)
    {
                RingbackServiceClient client = new RingbackServiceClient();
        ...
        client.Close();
    }
}
Run Code Online (Sandbox Code Playgroud)

要么

public class RingbacksController : Controller
{
    private RingbackServiceClient client = new RingbackServiceClient();

    private void LoadContactsIntoViewData(int page)
        {
        ...
        client.Close();
    }

    private void LoadGroupsIntoViewData(int page)
    {
        ...
        client.Close();
    }
}
Run Code Online (Sandbox Code Playgroud)

Ste*_*dit 1

如果您决定与会员一起去,请记住,一旦出现故障,之后的所有呼叫都将失败。至于是否值得,我建议进行基准测试。