在下面的代码中,我静态创建了对我的 Web 服务的引用,并在许多 Web 服务调用中使用相同的引用。
你们看到这种重用 Web 服务引用的模式有什么问题吗?
namespace Delegate
{
public sealed class SingletonDocDelegate
{
private SingletonDocDelegate() {}
public static readonly var Instance = new SingletonDocDelegate();
//Web Service Reference
private readonly var _globalDocWS = new Document.GlobalDocWS();
public string GetTransactionalDocuments(string request)
{
return _globalDocWS.GetTransDocuments(request);
}
}
}
请您参考如下方法:
不好。通过这样做,您将在同一个线程上调用所有内容,这可能会导致速度下降问题。基本上你会一遍又一遍地使用同一个客户端来处理所有事情,如果你每 60 秒发出一次请求就没问题,但对于更密集的事情你就会遇到瓶颈。
理想情况下,如果您希望它被多个项目隔离和访问,例如对 OData 服务的引用,您可以将它添加到一个新的类库项目中,然后让它单独存在。由于它本身不引用任何内容,因此您可以在项目的任何地方轻松使用它。
