سؤال

ولدي خدمة WCF التي لديها فئة [DataContract] يعرف في ذلك. كل من لديه خصائص [DataMember] سمة واضاف لقد اثنين من الشرح البيانات سمات [مطلوب] و [StringLength] إلى اثنين من الخصائص.

وI ثم تستهلك هذه الخدمة في تطبيق MVC ASP.NET كمرجع الخدمة. عندما أحصل على قائمة بجميع سمات باستخدام

var attr= from prop in TypeDescriptor.GetProperties(instance).Cast<PropertyDescriptor>()
                        from attribute in prop.Attributes.OfType<ValidationAttribute>()
                        select attribute;

وأرى أيا من شروح البيانات قد يأتي من خلال. هذا وجود قيود على رأس المال العامل أو أفعل شيئا جوهريا الخطأ هنا؟

هل كانت مفيدة؟

المحلول

وسوف لا يمكن إجراء تسلسل سمات عندما عقد البيانات الخاصة بك في إرسالها عبر الأسلاك. السمة الجديدة التي قمت بإنشائها في بيانات التعريف esentially مقترن الممتلكات والرسل نوع فيه الملكية ينتمي إليها. هذا ليس البيانات ولن تكون متاحة.

وانا اعتقد ان قمت بإضافة إشارة الخدمة في تطبيق بعثة التحقق المشتركة asp.net الخاص بك، هذه الإرادة، ما لم ينص، إنشاء فصول وكيل الجديدة التي تمثل العقد البيانات الخاصة بك.

عند إضافة المرجع الخدمة، إذا قمت بالنقر على زر متقدمة تأكد من أن 'استخدام أنواع موجود' التحقق. هذا يضمن أن الخدمة سوف تستخدم conract الموجودة لديك.

وهذا قد لا يكون أفضل الممارسات لتطبيق العميل سوف يكون لديهم معرفة عن نوع كنت ستعود من الخدمة. وهذا قد يكون بخير إذا تم استخدام الخدمة الخاص بك فقط من قبل نفسك في هذه الحالة سوف تحتاج إلى إضافة مرجع لك عقد في تطبيق MVC ASP.NET الخاص بك.

نصائح أخرى

والفريق OData تعمل في حل لفضح الفوقية التحقق من صحة باسم "المفردات".

ومزيد من المعلومات: http://www.odata.org/blog/vocabularies

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top