سؤال

أنا أعمل في مشروع يحتوي على موقع على شبكة الإنترنت في القضبان و G # واجهة المستخدم الرسومية التي تستخدم نفس قاعدة البيانات ونماذج البيانات. أرغب في مشاركة النماذج (النشطة) بين الجزءين. أي أفكار حول كيفية هذا ممكن؟

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

المحلول

الحديد هو بالضبط لذلك.

ستحتاج إلى تشغيل Ruby على القضبان باستخدام IronRuby (يمكنك القيام بذلك عبر IIS أيضا) ثم يمكنك استدعاء تجمعات C # كما لو كانت مكتبات روبي.

بعض الموارد التي يجب أن تبدأ:

  • http://ironruby.net. - الموقع الرسمي مع بعض الوثائق (غير ممتلئة ولكن ستجد بعض المعلومات الجيدة هناك)
  • http://www.ironshay.com. - مدونتي مع العديد من المشاركات حول الحديد. يمكنك أيضا الاتصال بي عبر نموذج الاتصال الخاص به إذا كنت بحاجة إلى مزيد من الاتجاهات
  • http://www.ruby-forum.com/forum/34. - منتدى الحديد / القائمة البريدية، الأسئلة التي أجابها أعضاء مجتمع الحديد وأعضاء الفريق أيضا.

نصائح أخرى

الإجابة القصيرة هي أنك لا تستطيع دون إعادة تعريفها على G # واجهة المستخدم الرسومية. يمكنك فضح وحدات التحكم مثل WSDL / SOAP بدلا من الأشياء المريحة، ثم يمكنك الحصول على Visual Studio إنشاء الوكلاء لك. C # سيئة حقا في الأشياء الديناميكية حتى لا تتمكن فقط من أخذ نماذج Ruby وإعادة استخدامها في C # لأنها تحتاج إلى تجميعها.

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

مثل Shay تقول أنه يمكنك استخدام IronRuby لسجل الفجوة ولكنه يعتمد هل ترغب في إعادة استخدام فصول Activerecord أو هل تستخدم موقع الويب كجهة نظرك للوصول إلى البيانات؟ عندما ترغب في إعادة استخدام نماذج Activerecord، فإن IronRuby هو الطريقة للذهاب للتحدث إلى قاعدة البيانات الخاصة بك (ولكن للحصول على تكامل جيد مع C #، عليك إنشاء مغلفة مكتوبة قوية حول الطرز، لذلك لا أرى حقا النقطة) وبعد

أول شيء يتبادر إلى الذهن لي سيكون لفضح خدمات الويب المريحة من تطبيق القضبان، واستهلك تلك الخدمات في تطبيق العميل C # الخاص بك. لا أعرف وسيلة لتجنب الازدواجية إذا كنت تريد Poco's في تطبيق C # - ربما اكتب قالب رموز أو T4 الذي يقرأ Schema.rb ويولد Poco's.

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