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();

クラスReservationRequestReservationResponseは、渡されるデータと確認メッセージをそれぞれ保持します。

これは私のWebサービスからのコードです

[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とGenericListのどちらを使用するかについてアドバイスをいただければ幸いです。

どうもありがとうございます

4

1 に答える 1

0

Firefoxを使用している場合は、Firebugを使用して問題を特定するか、マシンにフィドラーがインストールされている場合は、Firefoxを使用することもできます。

Firebugで、Webサービスに送信されている要求を確認し、応答で何が返送されているかを確認します。

于 2012-10-23T08:44:54.047 に答える