日期:2011-12-22  浏览次数:20459 次

Although you can create any client you desire for the web service, in this example I have chosen to create a Windows Application. To do so, simply go to File->New Project and choose Windows Application. Drag and drop the items on the form to look something like the figure below.


Now choose Project->Add Web Referance and in the bottom left of this dialog box choose "Web Referances on Loacal Web Server". Choose the Web Service we created in step one, then click on OK.

Below is the event handler code for the two buttons of the application. The rest of the code required for the application should be autogenerated by the form builder. Also note you'll need to include the namespace of the web service in order to use the wrapper objects. It should look something like "using WindowsApplication1.localhost;", but you can find out the exact namespace from the Class View->localhost->PersonService. Look at the top of this code file and see what namespace VS.NET gave this wrapper.


private void GetterButton_Click(object sender, System.EventArgs e)
{
    PersonData pd = ps.GetPersonData();
    FirstNameField.Text = pd.FirstName;
    LastNameField.Text = pd.LastName;
    YearsExperienceField.Text = ""+ pd.YearsExperience;
}

private void SetterButton_Click(object sender, System.EventArgs e)
{
    PersonData pd = new PersonData();
    pd.FirstName = FirstNameField.Text;
    pd.LastName = LastNameField.Text;
    pd.YearsExperience = Int32.Parse(YearsExperienceField.Text);
    try
    {
        ps.SetPersonData(pd);
        MessageBox.Show("Person Set");
    }
    catch(Exception exx) { MessageBox.Show("Error Setting Data:"+ exx); }
}



To drive the point home as to what VS.NET is doing with the web service, double click on the PersonData struct in the ClassView of your application.


Taking a look around inside the class viewer is an excellent way to find out exactly what kinds of wrappers VS.NET is creating for differant things you might be doing and will generally give you an excellent idea of what to expect from your remote objects.


Web Services are one of the hottest technologies going right now but there are a number of pitfalls that any programmer must be aware of. Data Integrity is important for any object's proper functioning and must be assured or it could corroupt a larger program and generate a very difficult to trace error. By using the techniques in this article you can keep your objects safe and your data assured.