私は2つのWCFサービスをクライアントに接続しています。サービス#1から取得したユーザオブジェクトを使用し、これをサービス#2のパラメータとして使用したいとします。2つのサービスを持つWCF/MVCプロジェクトで「共有」型を使用する(「変換できません...」)
private readonly GCTournamentServiceClient _tournamentClient = new GCTournamentServiceClient();
public ActionResult Join(int id)
{
GCUserServiceClient userClient = new GCUserServiceClient();
// Get current user
var currentUser = userClient.GetUser(0);
if (currentUser != null)
{
// Get selected tournament
var selectedTournament = _tournamentClient.GetTournament(id);
// Check if there are available seats in the tournament
if (selectedTournament.Seats > selectedTournament.RegistredUsers.Count)
{
// Check if user exist amoung registred users
if (!selectedTournament.RegistredUsers.Contains(currentUser))
{
selectedTournament?.RegistredUsers.Add(currentUser);
}
}
}
}
エラーVisual Studioは私を求める:ここに私のMVC-コントローラTournamentController.cs
コードがある
Argument 1: cannot convert from 'GConnect.Clients.WebClient.GCUserService.User' to 'GConnect.Clients.WebClient.GCTournamentService.User'
だから、問題は、型GCUserService.Userを有し、currentUser
です。 RegistredUsers
このエラー自体は完全に意味がありますが、私はこのタイプを(正しく)どのように変換しようとしているのかよく分かりません。一部の記事では、ユーザータイプを保持する「共有」サービスを作成する必要があると述べています。私は、そのような解決策が必要であると信じることはできません。
私はここでいくつかの基本的なことを誤解しているかもしれませんが(WCFとMVCで働いています)、私に教えてください。