C# WCF/REST我的帖子有什么问题吗?
当我使用我的windows窗体应用程序(代码的第二次和平)发布时,当我使用按钮将学生收藏点击2进入我的数据网格时,没有任何显示我可以硬编码成员并且没有问题,但我不能发布?当我点击我的帖子的按钮1时,我得到的回复在消息框中说OK?所以我不太确定我做了什么C# WCF/REST我的帖子有什么问题吗?,c#,wcf,web-services,rest,C#,Wcf,Web Services,Rest,当我使用我的windows窗体应用程序(代码的第二次和平)发布时,当我使用按钮将学生收藏点击2进入我的数据网格时,没有任何显示我可以硬编码成员并且没有问题,但我不能发布?当我点击我的帖子的按钮1时,我得到的回复在消息框中说OK?所以我不太确定我做了什么 [WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.Bare, RequestFormat = WebMessageFormat.Xml, ResponseFormat
[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;
}
您的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;
}
静态列表学生=新列表();
公立学校学生(学生)
{
学生。添加(学生);
}
公共列表GetStudentCollection()
{
留学生;
}
您的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;
}
静态列表学生=新列表();
公立学校学生(学生)
{
学生。添加(学生);
}
公共列表GetStudentCollection()
{
留学生;
}
您的服务正按照您在代码中编写的内容进行操作ListStudents
不断返回相同的学生列表,AddStudent
不处理该列表 您的服务正按照您在代码中编写的方式运行ListStudents
不断返回相同的学生列表,AddStudent
不处理该列表 您是否在每次呼叫激活模式下运行?如果是这样,每个客户端请求都会获得一个新的专用服务实例,因此每次都会将您的列表重新创建为空
看这个。在两次通话之间,您必须将列表保存在缓存或数据库中。您是否在每次通话激活模式下运行?如果是这样,每个客户端请求都会获得一个新的专用服务实例,因此每次都会将您的列表重新创建为空
看这个。在两次调用之间,您必须在缓存或数据库中保留列表。与命名StudentID
或StudentNo
,FirstName
或FirstName
保持一致,LastName
或姓氏
嘿,丹尼斯,这纯粹是为了给用户提供视觉表现。var学生
是否已填充?如果是这样的话,试着用那种方法也不管用,3个学生的回报率还是一样的。我不确定是否是我的操作合同中的my addstudent在起作用?在类似的示例中,我看到xml的根元素是ArrayOfStudent
。为什么要手动生成xml而不是使用xml解析器?如果不使用Student
类进行序列化/反序列化,该类有何用途?请与命名StudentID
或StudentNo
、FirstName
或FirstName
保持一致,LastName
或姓氏
嘿,丹尼斯,这纯粹是为了给用户提供视觉表现。var学生
是否已填充?如果是这样的话,试着用那种方法也不管用,3个学生的回报率还是一样的。我不确定是否是我的操作合同中的my addstudent在起作用?在类似的示例中,我看到xml的根元素是ArrayOfStudent
。为什么要手动生成xml而不是使用xml解析器?如果不使用Student
类进行序列化/反序列化,该类有何用途?仍然没有返回任何内容,也没有错误?顺便说一句,我本来有这个,但我也想硬编码的成员(为方便),然后可能还有其他问题。您的Addstudent
可能无法正常工作。你能在那里放一个断点,看看是否正在用一个格式正确的学生调用吗?仍然没有返回任何内容,也没有错误?顺便说一句,我本来有这个,但我也想硬编码的成员(为方便),然后可能还有其他问题。您的Addstudent
可能无法正常工作。你能在那里设置一个断点,看看是否有一个格式正确的学生在调用它吗?天哪!为了找到答案,我读了很多书,当然我知道答案是一行:[ServiceBehavior(InstanceContextMode=InstanceContextMode.Single)]
上帝!为了找到答案,我读了很多书,当然我知道答案是一行:[ServiceBehavior(InstanceContextMode=InstanceContextMode.Single)]