我有一个WPF应用程序,它使用WCF服务来调用服务器.
我在我的代码中使用此属性来访问该服务
private static IProjectWcfService ProjectService
{
get
{
_projectServiceFactory = new ProjectWcfServiceFactory();
return _projectServiceFactory.Create();
}
}
Run Code Online (Sandbox Code Playgroud)
工厂上的Create看起来像这样
public IProjectWcfService Create()
{
_serviceClient = new ProjectWcfServiceClient();
//ToDo: Need some way of saving username and password
_serviceClient.ClientCredentials.UserName.UserName = "MyUsername";
_serviceClient.ClientCredentials.UserName.Password = "MyPassword";
return _serviceClient;
}
Run Code Online (Sandbox Code Playgroud)
要访问服务方法,我使用类似下面的内容.
ProjectService.Save(dto);
Run Code Online (Sandbox Code Playgroud)
对于我想要做的事情,这是一个很好的方法吗?我得到了一个我无法追踪的错误,我认为可能会打开太多的服务客户端连接(这可能吗?)注意我从不关闭服务客户端或重用它.
对于WPF呼叫,WCF服务客户端的最佳做法是什么?
提前致谢...