0

我的一个小系统遇到了问题,正如标题所示,我正在使用 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# 中的缓存对象教程来处理 web 服务和数组,或者给我一些关于如何做到这一点的建议,或者只是使用 ArrayList 还是 Generic List,我将由衷地感激。

非常感谢

4

1 回答 1

0

如果您使用的是 Firefox,请使用 Firebug 来识别问题,或者如果您的机器上安装了 fiddler,您也可以使用它。

在 Firebug 中检查发送到 Web 服务的请求并查看它在响应中发回的内容。

于 2012-10-23T08:44:54.047 回答