1

当我使用我的 Windows 窗体应用程序发布(第二次代码和平)时,当我使用 buttonclick 2 进入我的数据网格中获取学生集合时,没有任何显示我可以对成员进行硬编码并且获取没有问题,但我不能发布?当我为我的帖子单击 button1 时,我得到的回复在消息框中显示 OK?所以不太清楚我做了什么......

    [WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.Bare, RequestFormat = WebMessageFormat.Xml, ResponseFormat = WebMessageFormat.Xml, UriTemplate = "")]
    void AddStudent(Student student);

            XDocument xDoc = XDocument.Load(uri);
            var students = xDoc.Descendants("Student")
                .Select(n => new
                {
                    StudentNo = n.Element("StudentID").Value,
                    Firstname = n.Element("FirstName").Value,
                    Surname = n.Element("LastName").Value
                })
                .ToList();

            dataGridView1.DataSource = students;
        }
4

3 回答 3

1

您是否在每次呼叫激活模式下运行?如果是这样,每个客户端请求都会获得一个新的专用服务实例,因此您List<>每次都被重新创建为空。

请参阅此参考文章。您必须在调用之间保留您的列表,无论是在缓存还是数据库中。

于 2012-04-06T01:24:43.357 回答
0

您的服务正在执行您在代码中编写的内容。ListStudents不断返回相同的学生列表,AddStudent对列表不做任何事情。

于 2012-04-05T20:37:32.747 回答
0

您的 AddStudent 未添加到列表中

public void AddStudent(Student student)
{
    student.StudentID.ToString();
    student.FirstName.ToString();
    student.LastName.ToString();
}

GetStudentCollection 返回相同的硬编码值。

static List<Student> students = new List<Student>();
public void AddStudent(Student student)
{
   students.Add(student);

}

public List<Student> GetStudentCollection()
{
    return students;
}
于 2012-04-05T20:28:42.110 回答