ASP.NET MVC 2 - محاولة تكوين إدارة الدور/المستخدم عبر أداة تكوين ASP.NET

StackOverflow https://stackoverflow.com/questions/3587859

سؤال

أولاً ، بيئة التطوير الخاصة بي: جهاز الكمبيوتر المحمول Win7 مع Visual Studio Professional 2010. IIS هو ليس المثبتة.

أحاول تشغيل وإعداد بعض الأدوار لإدارة المستخدم عبر أداة تكوين ASP.NET ، كما هو موضح في البرنامج التعليمي MVCMUSICSTORE. عندما أقوم بالنقر فوق علامة التبويب "الأمان" ، أحصل على الخطأ التالي:

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

قد تساعد الرسالة التالية في تشخيص المشكلة: لا يمكن تحميل نوع "handigamer.mvcapplication"."

عندما أقوم بالنقر فوق "الزر أدناه" ، يخبرني أنني أستخدم ASPNETSQLProvider كموفر الخاص بي. عندما أحاول اختباره ، يخبرني:

"لم تتمكن من إنشاء اتصال بقاعدة البيانات. إذا لم تكن قد قمت بعد بإنشاء قاعدة بيانات SQL Server ، فقم بالخروج من أداة إدارة موقع الويب ، واستخدم الأداة المساعدة لخط الأوامر ASPNET_REGSQL لإنشاء وتكوين قاعدة البيانات ، ثم العودة إلى هذه الأداة لتعيين هذه الأداة المزود."

هنا الحاجة:

  1. يعمل دور MVCMUSICSTORE DEMO/إدارة المستخدمين عندما أقوم بتشغيله عبر مصحح الأخطاء. يمكنني إضافة نفسي كعميل ، وإضافة/إزالة العناصر من عربة التسوق الخاصة بي. بالرغم من هذا ، عندما أحاول استخدام أداة التكوين معها ، أحصل على نفس الأخطاء.

  2. لقد قمت بالفعل بتشغيل ASPNET_REGSQL على نسختي من SQL Server 2008 Express. أنشأ الجداول اللازمة لإدارة المستخدم. ما زلت لم يصلح مشكلتي.

أنا فقط أتساءل عما إذا كنت أفتقد شيئًا واضحًا ، كما قال البرنامج التعليمي بشكل أساسي "انقر فوق زريين وأنت جميعًا." لم يقل حرفيًا شيئًا عن إعداد DB لهذا الغرض.

أنا فقط متعثر في هذه المرحلة. تعمل إدارة الأدوار/المستخدم (تثبت MVCMUSICSTORE أنها تعمل) ، لكن أداة التكوين لن تتيح لي تشغيلها أو إعدادها أو تحريرها بطريقة أخرى. أصبح الأمر محبطًا للغاية. أي مساعدة سيكون موضع تقدير كبير.

تحرير: my web.config كما يلي-

<?xml version="1.0"?>

<!--
  For more information on how to configure your ASP.NET application, please visit
  http://go.microsoft.com/fwlink/?LinkId=152368
  -->

<configuration>
  <connectionStrings>
    <add name="ApplicationServices" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient" />
    <add name="HandiGamer" connectionString="data source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|handigamer.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True" providerName="System.Data.SqlClient" />
  </connectionStrings>

  <system.web>
    <compilation debug="true" targetFramework="4.0">
      <assemblies>
        <add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add assembly="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
      </assemblies>
    </compilation>

    <authentication mode="Forms">
      <forms loginUrl="~/Account/LogOn" timeout="2880" />
    </authentication>

    <membership>
      <providers>
        <clear/>
        <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices"
             enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false"
             maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10"
             applicationName="HandiGamer" />
      </providers>
    </membership>

    <profile>
      <providers>
        <clear/>
        <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="HandiGamer" />
      </providers>
    </profile>

    <roleManager enabled="true">
      <providers>
        <clear/>
        <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="HandiGamer" />
        <add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="HandiGamer" />
      </providers>
    </roleManager>

    <pages>
      <namespaces>
        <add namespace="System.Web.Mvc" />
        <add namespace="System.Web.Mvc.Ajax" />
        <add namespace="System.Web.Mvc.Html" />
        <add namespace="System.Web.Routing" />
      </namespaces>
    </pages>
  </system.web>

  <system.webServer>
    <validation validateIntegratedModeConfiguration="false"/>
    <modules runAllManagedModulesForAllRequests="true"/>
  </system.webServer>

  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0" newVersion="2.0.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>
هل كانت مفيدة؟

المحلول

وجدت الحل. اضطررت إلى تجميع/بناء الحل قبل أن "ترى" "الاشياء الأمان DB".

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