Требуется, чтобы каждый использовал «подписанный» или каким-либо другим способом включение своего имени пользователя в сообщение каждого коммита. Это довольно уродливое решение, но AFAIK единственное, что вы можете сделать, не взломав источник git-svn.
Я предполагаю, что когда вы говорите «веб-службы ASP.net», вы создаете веб-службы с расширением ASMX. Я думаю, что в этом случае происходит следующее: все типы, допускающие значение NULL, становятся необязательными, а типы, не допускающие значения NULL, становятся необязательными.
Возможно, вы могли бы вручную отредактировать сгенерированный файл WSDL. Но тогда вам придется повторить эту работу, если wsdl был регенерирован.
Я бы посоветовал вам переключиться на WCF с помощью baseHttpBinding (за исключением названия вашей службы, ваши клиенты не заметят разницы).
Использование WCF вы можете просто пометить параметр в контракте данных как требуется или нет:
[DataMember(IsRequired="false")]
Примитивы не являются ссылочными типами, а являются типами значения . Вы можете сделать тип значения "обнуляемым" несколькими способами.
Сокращенное значение
int? i;
или длинное здесь
Nullable<int> i;