2012-10-23 30 views
5

जब मैं अपनी एमवीसी 4 साइट को RavenDB के एंबेडेड इंस्टेंस के साथ नई Azure वेबसाइट्स पूर्वावलोकन सुविधा में तैनात करने का प्रयास करता हूं तो मुझे एक एक्सेस अस्वीकार संदेश मिलता है। साइट स्थानीय रूप से ठीक काम करती है।Azure वेबसाइटों पर एम्बेड किया गया RavenDB - एक्सेस अस्वीकृत

यहाँ मैं कैसे कॉन्फ़िगर रेवेन है:

//Initialize the RavenDB Data Store 
     Raven.Database.Server.NonAdminHttp.EnsureCanListenToWhenInNonAdminContext(8887); 

     var documentStore = new EmbeddableDocumentStore() 
     { 
      DataDirectory = "~\\App_Data", 
      UseEmbeddedHttpServer = true, 
      Configuration = { Port = 8887 } 
     }; 

     documentStore.Initialize(); 

और यहाँ जब मैं साइट को ब्राउज़ स्टैक ट्रेस है:

Access is denied 

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.Net.NetworkInformation.NetworkInformationException: Access is denied 

Source Error: 

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. 

Stack Trace: 


[NetworkInformationException (0x5): Access is denied] 
    System.Net.NetworkInformation.SystemIPGlobalProperties.GetAllTcpConnections() +1570717 
    System.Net.NetworkInformation.SystemIPGlobalProperties.GetActiveTcpListeners() +74 
    Raven.Database.Util.PortUtil.FindPort() in c:\Builds\RavenDB-Unstable-v1.2\Raven.Database\Util\PortUtil.cs:110 
    Raven.Database.Util.PortUtil.GetPort(String portStr) in c:\Builds\RavenDB-Unstable-v1.2\Raven.Database\Util\PortUtil.cs:44 
    Raven.Database.Config.InMemoryRavenConfiguration.Initialize() in c:\Builds\RavenDB-Unstable-v1.2\Raven.Database\Config\InMemoryRavenConfiguration.cs:170 
    Raven.Database.Config.RavenConfiguration.LoadConfigurationAndInitialize(IEnumerable`1 values) in c:\Builds\RavenDB-Unstable-v1.2\Raven.Database\Config\RavenConfiguration.cs:28 
    Raven.Database.Config.RavenConfiguration..ctor() in c:\Builds\RavenDB-Unstable-v1.2\Raven.Database\Config\RavenConfiguration.cs:17 
    Raven.Client.Embedded.EmbeddableDocumentStore.get_Configuration() in c:\Builds\RavenDB-Unstable-v1.2\Raven.Client.Embedded\EmbeddableDocumentStore.cs:63 
    Raven.Client.Embedded.EmbeddableDocumentStore.set_DataDirectory(String value) in c:\Builds\RavenDB-Unstable-v1.2\Raven.Client.Embedded\EmbeddableDocumentStore.cs:90 
    Solarity.DesignSearch.Website.Bootstrapper.BuildUnityContainer() in c:\a\src\Solarity.DesignSearch\Solarity.DesignSearch.Website\Bootstrapper.cs:35 
    Solarity.DesignSearch.Website.Bootstrapper.Initialise() in c:\a\src\Solarity.DesignSearch\Solarity.DesignSearch.Website\Bootstrapper.cs:20 
    Solarity.DesignSearch.Website.MvcApplication.Application_Start() in c:\a\src\Solarity.DesignSearch\Solarity.DesignSearch.Website\Global.asax.cs:23 

[HttpException (0x80004005): Access is denied] 
    System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(HttpContext context, HttpApplication app) +9859725 
    System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers) +118 
    System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context) +172 
    System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) +336 
    System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) +296 

[HttpException (0x80004005): Access is denied] 
    System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +9873912 
    System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +101 
    System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +254 
+0

क्या आपने यह धागा देखा था? http://stackoverflow.com/questions/11529159/ravendb-on-azure-websites-access-denied –

+0

@ मैट जॉन्सन - आपकी टिप्पणी क्लाउड सर्विसेज का जिक्र कर रही है जबकि सवाल वेब साइट्स के बारे में पूछ रहा है। यदि संदर्भ क्लाउड सर्विसेज था, तो आप सही होंगे, हालांकि, वेब साइट क्लाउड सेवा –

+0

@ सिंटेक्स सी 4 के रीसायकल पर कैश डिस्क समाशोधन की चिंता किए बिना वेब अनुप्रयोगों को होस्ट करने के लिए एक सतत वातावरण की अनुमति देती है - धन्यवाद! –

उत्तर

3

में पोर्ट मैं इसे काम करने में कामयाब रहा, हालांकि यह आदर्श नहीं है। आप मेरी मूल पोस्ट में नोटिस कर सकते हैं कि मैं UseEmbeddedHttpServer = true सेट कर रहा हूं। ऐसा इसलिए है कि मैं http: [MyUrl]: 8081 पर ब्राउज़ कर सकता हूं और RavendDB प्रबंधन स्टूडियो प्राप्त कर सकता हूं ताकि मैं अपना डेटा ब्राउज़ कर सकूं। किसी कारण से, RavenDB उसी प्रकार की बंदरगाह जांच करना चाहता है जब यह प्रॉपर्टी सेट होती है जब आप पोर्ट सेटिंग स्वचालित (पोर्ट = *) सेट करते हैं।

मेरा मानना ​​है कि रावेनडीबी को एक फिक्स की आवश्यकता हो सकती है ताकि यह पोर्ट सेटिंग का सम्मान कर सके जब UseEmbeddedHttpServer सत्य है और आपको सृजन पर एम्बेडेड डॉक्यूमेंटस्टोर की कॉन्फ़िगरेशन प्रॉपर्टी सेट करने देता है।

लेकिन इस बीच, आप वास्तव में एक पोर्ट निर्दिष्ट करके Azure वेबसाइटों पर एंबेडेड डॉक्यूमेंटस्टोर के साथ काम करने के लिए अपनी एमवीसी 4 साइट प्राप्त कर सकते हैं। साथ ही, आपको सृजन पर एम्बेडेड डॉक्यूमेंटस्टोर की कॉन्फ़िगरेशन प्रॉपर्टी सेट करने के बजाय ऐपसेटिंग कॉन्फ़िगरेशन का उपयोग करना होगा (जैसे मैंने ऊपर करने की कोशिश की है)। यह पोस्ट (stackoverflow.com/questions/11529159/) दिखाता है कि इसे कैसे करें।

दुर्भाग्य से, मुझे अभी भी एंबेडेड एचटीपी सर्वर चलाने का कोई तरीका नहीं मिला है, इसलिए मैं रावेन प्रबंधन स्टूडियो का उपयोग कर सकता हूं। अगर मुझे पता चलता है कि, मैं यहां एक समाधान पोस्ट करूंगा।

+0

क्या आपको इस पर एक एसएलएन मिला? या फिर भी आप एज़ूरवेब्साइट्स के साथ स्टूडियो का उपयोग करने में असमर्थ हैं? – Larsi

+0

अभी भी एज़ूर वेबसाइटों के साथ स्टूडियो का उपयोग करने में असमर्थ है, लेकिन निम्नलिखित धागे में ऐंडे के अनुसार, यह डिज़ाइन द्वारा है। https://groups.google.com/forum/?fromgroups=#!searchin/ravendb/Azure$20Websites/ravendb/HW463DU27P0/pursfAZ1ZigJ –

+0

अभी भी Azurewebsites के माध्यम से स्टूडियो तक पहुंचने में असमर्थ है। हालांकि, रावेनडीबी Google समूह में ऐंडे के अनुसार, यह डिज़ाइन द्वारा है। –

0

हाय इस पर जवाब था RavenDb on Azure Websites - Access Denied मूल रूप से आप विन्यस्त करने की जरूरत Web.config

+0

जैसा कि मैंने ऊपर @ सिंटेक्स सी 4 का उल्लेख किया है, मैंने उस पोस्ट के समाधान की कोशिश की और यह काम नहीं किया। मैंने कॉन्फ़िगरेशन कोड निकाला जो पोर्ट और डेटा डायरेक्टरी निर्दिष्ट करता है, और मैंने उन मानों को मेरे Web.config की AppSettings में रखा है। अभी भी त्रुटि मिली है। इस बिंदु पर मुझे नुकसान हुआ है क्योंकि साइट मेरे स्थानीय देव पर्यावरण में ठीक काम करती है। –

+1

आप सही हैं कि आपके द्वारा उल्लिखित पोस्ट काम करेगा, लेकिन मेरे मामले में यह काम नहीं करता क्योंकि मैं एंबेडेड डॉक्यूमेंटस्टोर के लिए UseEmbeddedHttpServer = True सेटिंग भी सेट कर रहा था। मेरा मानना ​​है कि यह एक मुद्दा हो सकता है जिसे भविष्य में निर्माण में रावेनडीबी टीम द्वारा तय किया जा सकता है। –

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

  • कोई संबंधित समस्या नहीं^_^