webservice를 만들었습니다. 메서드를 사용하려면 메서드에서 인스턴스화하고 메서드를 호출하고 마침내 처리합니다. 그러나 인스턴스화해도 괜찮을 것이라고 생각합니다. "개인 무효 Main_Load (개체 발신자, EventArgs 전자)"이벤트에서 webservice.웹 서비스 모범 사례
내가하는 첫 번째 방법은 내가 그 방법 중 하나를 필요로 할 때마다 webservice를 인스턴스화해야하지만, 다른 방법으로는 내가 사용하는 모든 시간에 웹 서비스를 계속 연결해야한다는 것이다. 양식.
내가 더 잘하거나 이러한 관행을 알고 싶습니다 할 수있는 더 나은 방법이 있다면
전략 1
private void btnRead_Click(object sender, EventArgs e)
{
try
{
//Show clock
this.picResult.Image = new Bitmap(pathWait);
Application.DoEvents();
//Connect to webservice
svc = new ForPocketPC.ServiceForPocketPC();
svc.Credentials = new System.Net.NetworkCredential(Settings.UserName, Settings.Password);
svc.AllowAutoRedirect = false;
svc.UserAgent = Settings.UserAgent;
svc.PreAuthenticate = true;
svc.Url = Settings.Url;
svc.Timeout = System.Threading.Timeout.Infinite;
svc.CallMethod();
...
}
catch (Exception ex)
{
ShowError(ex);
}
finally
{
if (svc != null)
svc.Dispose();
}
}
전략이
private myWebservice svc;
private void Main_Load(object sender, EventArgs e)
{
//Connect to webservice
svc = new ForPocketPC.ServiceForPocketPC();
svc.Credentials = new System.Net.NetworkCredential(Settings.UserName, Settings.Password);
svc.AllowAutoRedirect = false;
svc.UserAgent = Settings.UserAgent;
svc.PreAuthenticate = true;
svc.Url = Settings.Url;
svc.Timeout = System.Threading.Timeout.Infinite;
}
private void btnRead_Click(object sender, EventArgs e)
{
try
{
//Show clock
this.picResult.Image = new Bitmap(pathWait);
Application.DoEvents();
svc.CallMethod();
...
}
catch (Exception ex)
{
ShowError(ex);
}
}
private void Main_Closing(object sender, CancelEventArgs e)
{
svc.Dispose();
}