Я хочу создать сайт на 1-страницу с knockout.js и MVC 4.Как объявить MVC-модель и WCF DataContract в одном месте?
После внесения некоторых изменений пользователь будет нажать на кнопку сохранения ориентации контроллеру Save
действия.
Сторона контроллера Я хочу проверить входные данные.
Если данные действительны - мне нужно вызвать метод WCF.
Если данные недействительны - я верну кое-что на клиентскую сторону и скажу им что-то вроде «имя слишком длинное».
Это просто сделать что-то вроде этого:
- Объявить
SiteModel
с DataAnnotations - Declare действия контроллера
public JsonResult Save(SiteModel data)
- Если модель справедлива, чем создать новый экземпляр WCF DataContract и вызова WCF метод
Код:
public JsonResult Save(SiteModel data)
{
if (ModelState.IsValid)
{
var ui = WcfUserInfo{FirstName = data.FirstName};
if(wcfclient.wcfmethod(ui))
return Json("IsValid");
}
return Json("IsNotValid");
}
Возможно ли создать DataContract с DataAnnotations и использовать этот DataContract в методе Save
, что-то вроде public JsonResult Save(WcfDataContract data)
?
Я просто не хочу создавать и поддерживать два разных класса с одинаковыми данными: одну модель MVC и один WCF DataContract.
спасибо.
ОБНОВЛЕНИЕ:
2 сообщения разрешают мою проблему.
Send objects with custom attributes via a wcf service
How to make WCF client use the same data types as the WCF service
Привет. Спасибо, что редактировали мой пост. –
Я пытаюсь создать DataContract с помощью [StringLength (50)]. Затем я добавлю ссылку на мою службу обслуживания в проект тестирования WCF. Создано свойство без [StringLength (50)]. Что вы можете мне посоветовать? –