我有一个WSDL,我从中生成了ClientBase的实现,即MyService
function void updateData(Data data){
BasicHttpBinding binding = new BasicHttpBinding();
// see there is naked username and password.
EndpointAddress address = new EndpointAddress("http://qa.farwaha.com/eai_enu/start.swe?SWEExtSource=WebService&SWEExtCmd=Execute&UserName=john&Password=johspassword");
MyService service = new MyService(binding, address);
try{
service.update(data);
}finally{
service.close();
}
}
不幸的是,要调用此Web服务,我必须传递用户名和密码,如代码所示。所以,我的问题是最佳实践。
鉴于它是一个Winform应用程序。
内存/ CPU密集型如何创建MyService对象?
如果您建议兑现服务,它将保留到EndpointAddress;哪个实习生有一个带有用户名和密码的字符串。这不是一个好主意..任何工作?
这是一个示例代码,我有用户对象,它在SecureString中存储密码,每次我必须访问密码;我在一个实例私有方法中从SecureString获取字符串,快速使用它并让它被垃圾收集。我相信如果我使用类似上面的方法,它将是安全的或足够安全而不是坚持参考服务,你有什么建议!!
答案 0 :(得分:1)
针对您的具体问题:
using
语句中以调用Dispose模式并确定性地进行清理。有关示例,请参阅Codeplex上的Magic8Ball WCF Service。其他观察结果:
希望这有帮助。