2009-07-10 13 views
9

मैं hibernate.cfg.xml में इस विन्यास है:क्या प्रॉक्सी फैक्टरी एनएचबेर्नेट में आवश्यक है?

<?xml version="1.0" encoding="utf-8" ?> 
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2"> 
    <session-factory> 
    <property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property> 
    <property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property> 
    <property name="dialect">NHibernate.Dialect.MsSql2005Dialect</property> 
    <property name="connection.connection_string">Data Source=.\SQLEXPRESS;Initial Catalog=MyDB;Integrated Security=SSPI;</property> 
    <property name="show_sql">true</property> 
    </session-factory> 
</hibernate-configuration> 

मैं सिर्फ एक कक्षा लाइब्रेरी बना लिया है और मैं MbUnit का उपयोग कर एक एकीकरण परीक्षण बना लिया है। यह विफल रहा। रिपोर्ट (एक जो मुझे लगता है पर्याप्त है) का एक हिस्सा है यहाँ जाता है:

** NO TESTS WERE RUN (No tests found) ** 
TestCase 'M:IntegrationTests.RepositoryTests.ListAllPostsReturnsAListOfPost' 
failed: The ProxyFactoryFactory was not configured. 
Initialize 'proxyfactory.factory_class' property of the session-factory configuration section with one of the available NHibernate.ByteCode providers. 

मैं कई ट्यूटोरियल पढ़ा है और इस प्रॉक्सी कारखाने विन्यास नहीं देखा है। क्या यह वास्तव में जरूरी है? यदि हां, तो मैं यह कैसे कर सकता हूं? क्या मुझे कुछ अन्य पुस्तकालय का संदर्भ देना है?

उत्तर

14

यदि आप नवीनतम एनएचबीर्नेट (2.1) का उपयोग कर रहे हैं, तो आप अब mainline for NH doesn't have a dependency on castle प्रॉक्सी पीढ़ी के लिए नोटिस करेंगे, इसलिए आप जिन सभी ट्यूटोरियल को देख रहे हैं वे शायद पुराने हैं।

असल में, अब आपके पास कुछ गतिशील प्रॉक्सी बनने के तरीके हैं, इसलिए आपको स्पष्ट रूप से कॉन्फ़िगर करना होगा कि आप किस प्रॉक्सी जनरेटर का उपयोग करना चाहते हैं। उदाहरण इस how-to post on forge में पाए जा सकते हैं। विकल्पों की पूरी सूची here संदर्भित है।

पीएस यदि आप चीजों को सरल रखना चाहते हैं, तो कृपया Castle का उपयोग करें क्योंकि एनएचबीर्नेट के पुराने संस्करणों को डिफ़ॉल्ट रूप से इसका उपयोग किया जाता है।

+0

[इस उत्तर] के अनुसार (http://stackoverflow.com/a/8932549/326110), आपको प्रॉक्सी को और भी कॉन्फ़िगर करने की आवश्यकता नहीं है। –

संबंधित मुद्दे