WCFサービスの作成が始まり、奇妙な問題が発生しました。クライアントで呼び出されたサービスからのメソッドが正しく機能せず、新しいブックが作成されない理由はわかりません。 listBooks()メソッドidは本のリストを返しますが、メソッドaddBookはbooksListに新しいbookを作成しないため、okです。しかし、この状況は、サービスコンストラクタで呼び出された同じメソッドがブックを作成するため、クライアントからこのメソッドを使用する場合にのみ使用されます。簡単なWCFプログラム、サービスメソッドがクライアントプログラムで動作しない
namespace LibraryClient
{
class Program
{
static ServiceReference.ServiceClient client;
static void Main(string[] args)
{
client = new ServiceReference.ServiceClient();
client.addBook(2, "some book", "some author"); //this is not working
ServiceReference.Book[] books = client.listBooks();
foreach(var book in books)
{
Console.WriteLine("{0}", book.title);
}
Console.ReadLine();
}
}
}
とサービスコード:サーバー側で
namespace LibraryService
{
public class Service : IService
{
private static List<Book> booksList;
private static List<User> usersList;
public Service()
{
booksList = new List<Book>();
usersList = new List<User>();
addBook(1, "ANOTHER BOOK", "ANOTHER AUTHOR"); //this is working
}
public List<Book> listBooks()
{
return booksList;
}
public List<User> listUsers() {
return usersList;
}
public void addBook(int id, string title, string author)
{
booksList.Add(new Book(id,title,author));
}
}
}
ありがとうございます...! – Aver