2009-12-08 11 views
8

मेरे पास एक बहुत ही सरल नमूना चांदी की रोशनी एप्लिकेशन है। मैंने एक इकाई मॉडल के साथ एक डोमेन सेवा जोड़ा जिसमें एक इकाई है। क्लाइंट ऐप स्टार्टअप पर इकाई में सभी पंक्तियों को बस लोड करता है। जब मैं इसे अपने विकास बॉक्स पर चलाता हूं, तो यह अपेक्षा के अनुसार काम करता है। हालांकि, जब मैं इसे अपने परीक्षण सर्वर पर ले जाता हूं तो मुझे यह अपवाद मिलता है कि जिस विधि को मैं कॉल कर रहा हूं वह नहीं मिल सकता है (लोड ऑपरेशन क्वेरी 'GetCTCStation' के लिए विफल रहा। दूरस्थ सर्वर ने एक त्रुटि लौटा दी। NotFound।)। जब मैंने क्लाइंट/सर्वर संचार का निरीक्षण फिडलर के साथ अधिक बारीकी से किया, तो मुझे पता चला कि अनुरोध http://[server url] /ClientBin/SilverlightApplication7-Client-Web-CTCService.svc/binary पर जा रहा है। मैंने वेब प्रोजेक्ट की रूट पर डोमेन सेवा जोड़ा, इसलिए मुझे समझ में नहीं आता कि क्लाइंट क्लाइंटबिन निर्देशिका में क्यों ढूंढ रहा है। यह स्पष्ट रूप से वहां नहीं है। मुझसे यहां क्या गलत हो रहा है? आरआईए के जुलाई पूर्वावलोकन संस्करण के साथ मुझे कभी भी कोई समस्या नहीं है।डब्ल्यूसीएफ आरआईए सेवा परिनियोजन मुद्दा


यह सापेक्ष है, लेकिन इसे जेनरेटेड_Code फ़ाइल में स्वचालित रूप से संभाला जाता है। और कॉन्फ़िगर करने के लिए webconfig में कुछ भी नहीं है। डोमेन सेवा बनाते समय मैंने डिफ़ॉल्ट सेटिंग्स का उपयोग किया। मैंने सेवा को तुरंत चालू करते समय उरी को स्पष्ट रूप से स्थापित करने की कोशिश की और एक ही अपवाद हुआ।

उत्तर

9

लंबे संघर्ष के बाद और कई अलग-अलग विकल्पों को आजमाने के बाद मुझे समाधान मिला। यह पोस्ट key था:

मूल रूप से, परियोजना को प्रकाशित करते समय कुछ डीएल को बिन फ़ोल्डर में शामिल नहीं किया गया था। संदर्भों के तहत सुनिश्चित करें कि निम्न डीएलएल सही तरीके से सेटअप हैं (सुनिश्चित करें कि System.ComponentModel.DataAnnotations सी: \ प्रोग्राम फ़ाइलें \ Microsoft SDKs \ RIA सेवाएं \ v1.0 \ पुस्तकालय \ सर्वर \ System.ComponentModel.DataAnnotations पर इंगित कर रहा है। डीएल):

सिस्टम। कॉम्पोनेंट मॉडेल। डेटाएनोटेशन और सिस्टम डब्ल्यू के साथ शुरू होने वाले प्रत्येक डीएलएल को "स्थानीय कॉपी करें" सेट को सत्य पर होना आवश्यक है।

प्रोजेक्ट बनाएं और फिर से प्रकाशित करें। यह मेरे लिए समस्या तय की।

मैं इस मुद्दे के समाधान में योगदान देने वाले सभी को धन्यवाद देना चाहता हूं (इस धागे और अन्य में)।

+0

System.ComponentModel.DataAnnotations.dll फ़ाइल अब इस SDK में मौजूद नहीं है। क्या हमें इस जवाब को वोट देना चाहिए? – YeahStu

+1

मैं सिल्वरलाइट 5 और रिया सेवा 1.0 एसपी 2 पर हूं और यह उत्तर अभी भी मान्य है। वास्तव में, कृपया @ ड्रैगन या कोई भी जो इसे उत्तर के रूप में चिह्नित कर सकता है। –

0

क्या आपने अपनी बाध्यकारी कॉन्फ़िगरेशन का पता भाग देखा था? ऐसा लगता है कि यह एक सापेक्ष पते का उपयोग कर रहा है।

1

यदि आप उस सेवा अनुरोध (जो सामान्य रूप से आप इसे देख रहे हैं) पर त्रुटि का निरीक्षण करते हैं, तो फिडलर में सामग्री क्या कहती है? प्लगइन में NotFound उत्पन्न होता है, लेकिन फिडलर आपको एक HTTP 500 या प्रतिक्रिया शरीर में कुछ और विवरण के साथ कुछ दिखा रहा है।

+0

मेरे मामले में मुझे 401 त्रुटि मिलती है। कॉपी की गई स्थानीय विकल्प को सभी आवश्यक फाइलों पर आजमाया लेकिन अभी भी कोई भाग्य नहीं है ... कोई सुझाव? – Entrodus

1

1) आप किस आईआईएस पर विलोपन कर रहे हैं? यदि < 7 आप की जरूरत है Hotfix

2) अपने सभी रिया विधानसभाओं (सेट की प्रतिलिपि स्थानीय => यह सच है) भी शामिल है को शामिल करें:

System.Web.Ria

System.Web.DomainServices। (उनमें से 4 आप जो उपयोग कर रहे हैं उसके आधार पर)

3) यह आपके एएसपीएनईटी एप्लिकेशन में विंडोज़ पर सेट होने पर आपके नोड का नतीजा हो सकता है, लेकिन आपकी साइट आईआईएस में बेनामी पर सेट हो रही है। अधिकांश के लिए, बस मोड में मोड को बदलना = "फॉर्म" इस त्रुटि को हटा देगा और आपको जारी रखने की अनुमति देगा।दूसरों के लिए, यदि आपकी आईआईएस कॉन्फ़िगरेशन एकीकृत एथ और बेनामी दोनों का उपयोग करने के लिए सेट है, तो आप आईआईएस प्रबंधन कंसोल में साइट के लिए निर्देशिका सुरक्षा सेटिंग में उनमें से एक को अनचेक करना चाहेंगे।

0

WCF रिया सेवाएं वी.एस. 2008 तैनाती त्रुटियों

नेट पर कई अच्छी पोस्टिंग कर रहे हैं और सबसे अच्छा एक हालांकि सभी पोस्टिंग मैंने पाया किसी तरह से उपयोगी थे here (धन्यवाद टिम)

हो रहा है , मेरे मामले में अंतिम समाधान अनुचित डीबी कनेक्शन स्ट्रिंग था। हालांकि वी.एस. उत्पन्न डीबी स्ट्रिंग वी.एस. के भीतर ठीक काम किया, मैं इसे अपने क्यूए सर्वर से तैनात नहीं कर सकता जब तक मैं यह छंटनी की इस तरह होने के लिए:

add name="myEntities" connectionString="metadata=res://*/ReviewsModel.csdl|res://*/ReviewsModel.ssdl|res://*/ReviewsModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=dataSource;Initial Catalog=intitalCatalog;User ID=userID;Password=password;&quot;" providerName="System.Data.EntityClient" 
0

WCF रिया सेवाएं वी.एस. 2008 तैनाती त्रुटियों Here समाधान आप है डाउनलोड उदाहरण के लिए खोज रहे हैं और अपने स्वयं के लाइव डब्ल्यूसीएफ आरआईए (वीएस 2008) सेवा की जांच करें।

System.ComponentModel.DataAnnotations 
System.ServiceModel.DomainServices.EntityFramework 
System.ServiceModel.DomainServices.Hosting 
System.ServiceModel.DomainServices.Hosting.OData 
System.ServiceModel.DomainServices.Server 
System.Web.ApplicationServices 
System.Web 
System.Web.Extensions 
System.Web.Mobile 
System.Web.Services 

यदि सब सही है अगले उन विधानसभाओं के पुनर्निर्माण के बाद बिन फ़ोल्डर में कॉपी किया जायेगा:

1

मेरे मामले के समाधान में "कॉपी स्थानीय" वेबसाइट के संदर्भ से विधानसभाओं निम्न में से संपत्ति फ़ोल्डर में "सही" स्थापित करने के लिए था आपकी परियोजना का

आईआईएस 7 की कोई आसान कॉन्फ़िगरेशन अच्छी नहीं है मैंने नहीं किया।

1

इस समस्या में भी दौड़ें (आरआईए "नहीं मिला") लौटाता है, लेकिन मेरे मामले में यह समाप्त हो गया कि मेरी क्वेरी maxitemsinobjectgraph के माध्यम से अनुमति से अधिक पंक्तियों को वापस कर रही थी। मेरा अस्थायी संकल्प जोड़ना था। परिणाम सेट को कम करने के लिए टेक (5000), लेकिन एक स्थायी रिज़ॉल्यूशन को नीचे संदर्भित maxitemsinobjectgraph को विस्तारित करने की आवश्यकता है। उम्मीद है कि यह किसी और में मदद करता है बाहर ...

<behaviors>  
<behavior name="MyServiceBehavior">   
    <dataContractSerializer maxItemsInObjectGraph="3" />  
</behavior> 
</behaviors> 

2.147.483.647

MSDN - maxItemsInObjectGraph

MSDN - Int32.MaxValue

0

मेरे लिए ध्यान रखें कि डिफ़ॉल्ट मान Int32.MaxValue है या, यह था कि प्रमाणीकरण आईआईएस में "बेनामी" पर सेट नहीं किया गया था। मैंने जेडियड आरआईए एससीवी यूआरएल प्राप्त करने के लिए फिडलर का इस्तेमाल किया और फिर ब्राउज़र में यूआरएल खोला। संदेश काफी स्पष्ट था।

मुझे सिर्फ अनाम पहुंच की अनुमति देना पड़ा, एप्लिकेशन पूल को पुनरारंभ करना था और सब कुछ अपेक्षित काम कर रहा था।

1

माइक्रोसॉफ्ट MSDN पर अनुशंसा करता है कि सर्वर पर रिया सेवा स्थापित की जाए।

यह अनुशंसा की जाती है कि वेब सर्वर पर आरआईए सेवाएं स्थापित हों जो आपके आवेदन की मेजबानी करेगी।

एक चाल यहाँ शायद देखा है होगा कि ज्यादातर लोगों को इस समाधान से संकोच नहीं है। इंस्टॉलेशन डिफ़ॉल्ट रूप से कई पूर्वापेक्षाएँ सूचीबद्ध करेगा कि आप आमतौर पर सर्वर पर स्थापित नहीं करना चाहते हैं।

किसी और चीज की जाँच करें

निम्नलिखित आवश्यक घटक अनुपलब्ध है:

  • माइक्रोसॉफ्ट विजुअल स्टूडियो 2010 या नए या विजुअल वेब डेवलपर 2010
  • एक्सप्रेस माइक्रोसॉफ्ट सिल्वरलाइट 4 डेवलपर क्रम या नए माइक्रोसॉफ्ट
  • सिल्वरलाइट 4 एसडीके या माइक्रोसॉफ्ट सिल्वरलाइट 5 एसडीके

कमांड लाइन तर्क SERVER=TRUE साथ installation चल रहा है इस जाँच को बाइपास होगा।

msiexec/i सर्वर = सही

मैं भी सुझाव है कि आप इस समाधान का उपयोग के रूप में यह DLLs जो भविष्य में बदल सकता का एक विशिष्ट सेट के लिए विशेष विन्यास की आवश्यकता नहीं है RiaServices.msi संस्करणों। साथ ही, प्रकाशन प्रक्रिया थोड़ा तेज हो जाएगी क्योंकि इन फ़ाइलों को शामिल नहीं किया जाएगा।

भी ध्यान दें कि आप जो SERVER=TRUE स्विच जैसा ही होता है '.Net Framework 4.0 के लिए स्थापित WCF रिया सेवा सर्वर' Web Platform Installer एक सर्वर के प्रयोग पर रिया सेवा स्थापित करने के लिए उपयोग कर सकते हैं। दुर्भाग्यवश हालांकि, यह केवल संस्करण 1 है और सर्विस पैक 2 गुम है।

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