В то время как Alex предоставляет корректный и ближайший ответ на Ваш вопрос, я предпочитаю использовать TryParse
:
int value;
int? EmployeeNumber = int.TryParse(employeeNumberTextBox.Text, out value)
? (int?)value
: null;
Это более безопасно и заботится о случаях недопустимого входа, а также Вашего сценария пустой строки. Иначе, если вводы данных пользователем что-то как 1b
им подарят ошибочную страницу с необработанным исключением, вызванным в Convert.ToInt32(string)
.
Скорее всего, вам потребуется добавить явные базовые адреса для обоих протоколов, чтобы WCF знала, что вы хотите выполнить привязку к обоим. Попробуйте добавить это в свое определение
:
<host>
<baseAddresses>
<add baseAddress="http://your-hostname-here/" />
<add baseAddress="https://your-hostname-here/" />
</baseAddresses>
</host>
Кроме того, убедитесь, что вы получаете доступ к службе через WINS / DNS-имя компьютера, или вам нужно добавить явный заголовок хоста к экземпляру веб-сайта под IIS.