Мне нужна служба двусторонней печати, и я хочу знать, правильно ли клиент ввел ее имя пользователя и пароль, потому что я только хочу позволить использовать методы этой услуги, если пользователь ранее отправил свое имя пользователя и пароль правильно ,WCF: лучше за звонок за сеанс в этом сценарии?
Для дуплекса, для этого post, я знаю, что я могу использовать услугу дуплекса за вызов, используя статический список для хранения обратного вызова между вызовами. Но я сомневаюсь, как сделать пользовательский контроль с помощью метода вызова.
Я имею в виду, в этом случае:
1.- A пользовательский метод вызова входа() и отправить имя пользователя и пароль. В этом случае это правильно.
2.- Пользователь теперь может вызывать остальные методы службы. Например, метод1(). У меня есть вопрос. Как это за вызов, в каждом вызове метода создается новый экземпляр, но от одного и того же клиента каждый обратный вызов имеет другой код или тот же самый? Если одно и то же, когда клиент имеет другой обратный вызов, когда он перезапускает приложение?
Если обратный вызов отличается при каждом вызове, как я могу узнать, отправил ли клиент ранее свое имя пользователя и пароль? Мне нужно отправить журнал и пароль в качестве параметра метода?
Если обратный вызов тот же, можно ли узнать, когда клиент закроет соединение, чтобы удалить обратный вызов из моего статического списка? Возможно, это будет контроль соединения?
Спасибо.
EDIT: Я сделал несколько пробников, и я вижу, что обратный вызов, идентификатор клиента, одинаковый для каждого вызова методов, поэтому можно создать класс, в котором сохранить необходимую информацию, такую имя пользователя, если этот пользователь ввел логин и пароль в этом обратном вызове ... и т. д.