我遇到了一个我的小系统的麻烦,标题表明我正在使用ASP.NET和C#编程技术。特别是Web服务和数组列表。
或者我被告知我可以使用缓存对象存储数组列表或其他东西,但我不知道如何做这些。
当我在本地运行时,我的项目上的所有内容都很好但我似乎无法让它甚至运行Web服务。
我的程序如何运作是用户在一行中保留座位号并提供预订的名称。数据以字符串
传递 "Seat Number " + seatNumber + " In Row Number " + rowNumber + " Is Reserved";
然后将其添加到数组列表中。输出看起来像这样: 第4行中的座位号5是保留的。重复的条目很容易防止,但是当我在Web服务上尝试这个时,我不认为任何数据都会传递。
保留座位时,执行以下代码:
// Retrieve the values from the form controls
string seat = boxSeat.Text;
string row = boxRow.Text;
string name = txtName.Text;
// Convert form control values for Row and Seat into integers
int Row2 = Convert.ToInt32(row);
int Seat2 = Convert.ToInt32(seat);
// Generate Reservation Request
var req = new ReservationRequest();
// Pass the form control values to the request
req.Row = Row2;
req.Seat = Seat2;
req.Name = name;
var resp = new ReservationResponse();
// Create SOAP client
var client = new ReservationsSoapClient();
类ReservationRequest
和ReservationResponse
分别保存要传递的数据和确认消息。
这是我的网络服务的代码
[WebMethod]
public ReserveSeatResponse ReserveSeat(ReserveSeatRequest req)
{
var resp = new ReserveSeatResponse();
int rowNumber = req.Row;
int seatNumber = req.Seat;
string name = req.Name;
string message;
string seat = "Seat Number " + seatNumber + " In ";
string row = "Row Number " + rowNumber;
string booking = seat;
booking += row;
message = "Congratulations! " + booking + " is reserved by " + req.Name;
reservations.Add(booking);
resp.confirmation = message;
return resp;
此代码应该检索行号和席位号以及ReservationRequest
类中的预留名称,然后将其放入“预订”字符串并将其添加到数组中。我现在不关心重复,因为我想让它发挥作用。
我在表单中添加了messagebox.show(resp.confirmation);
代码行来打印确认消息,但我尝试的所有内容都让我空白。
我真的很感激一些帮助,如果我需要更多的代码或任何东西只是评论,我会提供它。它真的很烦人
如果有人可以推荐C#中的缓存对象教程来处理webservices和数组,或者给我一些关于如何做到这一点的建议,或者只是使用ArrayList或Generic List我真的很感激。
非常感谢
答案 0 :(得分:0)
如果您使用的是Firefox,请使用Firebug来识别问题,或者如果您的计算机上安装了fiddler,也可以使用它。
在Firebug中检查发送到Web服务的请求,并查看它在响应中发回的内容。