Прежде всего, вы должны придерживаться методологии «сообщение / контракт сначала» при работе со службами wcf, при передаче запроса и возврате ответа. Это избавит вас от головной боли в будущем.
При этом вы должны создать два метода, например:
public LoginValidResponse IsLoginValid(UserObjectRequest userRequest)
и
public LoginValidResponse IsLoginValid(UsernamePasswordRequest usernameRequest)
Возможно, есть более подходящие названия для них, но вы поняли идею. Если бы вы предоставили больше информации о том, что вы передавали туда и обратно, я мог бы помочь с именами немного больше.
Обратите внимание, что эти два метода возвращают один и тот же ответ LoginValidResponse
.
Поместите две строки в UsernamePasswordRequest (я предполагаю, что это имя пользователя и пароль). Поместите объект пользователя в UserObjectRequest.
Вы также можете повторно использовать эти запросы / ответы в более поздних методах, например, GetUserInfo(UserObjectRequest request)
.
LoginValidResponse будет содержать ваш bool (и любую другую информацию, которую вы хотите передать в своем ответе).
* Примечание. Я назвал только методы IsLoginValid
b / c, которые были вашим вопросом. Поверх шаблона запроса / ответа я мог бы также переименовать методы во что-то вроде ValidateLoginByUser
и ValidateLoginByUsername
(или что-то подобное).