سؤال

وأنا فقط تثبيت التطبيق على الخادم WIN2003 وأنا الحصول على هذا الخطأ:

Line 149:    <roleManager>
Line 150:      <providers>
Line 151:        <add name="AspNetSqlRoleProvider" connectionStringName="LocalSqlServer" applicationName="/" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
Line 152:        <add name="AspNetWindowsTokenRoleProvider" applicationName="/" type="System.Web.Security.WindowsTokenRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
Line 153:      </providers>


Source File: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Config\machine.config    Line: 151 

وأنا باستخدام RoleProvider وانها تكوينه بشكل صحيح في الملف web.config (يعمل على خوادم أخرى) على النحو التالي:

<membership defaultProvider="AdminMembershipProvider">
  <providers>
    <clear/>
    <add name="AdminMembershipProvider" connectionStringName="SiteSqlServer" type="MyApp.Providers.AdminMembershipProvider" applicationName="MyApp" writeExceptionsToEventLog="false" enablePasswordRetrieval="false" enablePasswordReset="false" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" PasswordFormat="Clear" MinRequiredNonAlphanumericCharacters="1" MinRequiredPasswordLength="8" MaxInvalidPasswordAttempts="5" PasswordAttemptWindow="10">
    </add>
  </providers>
</membership>
<roleManager enabled="true" defaultProvider="AdminRoleProvider" cacheRolesInCookie="true">
  <providers>
    <add name="AdminRoleProvider" type="MyApp.Providers.AdminRoleProvider" writeExceptionsToEventLog="true"/>
  </providers>
</roleManager>

وأي تلميح عن السبب انها تبحث عن التكوين على machine.config بدلا من الملف web.config؟ كيف يمكنني تصحيح هذا؟

وشكرا لكم.

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

المحلول

والواقع أن قراءة machine.config أولا، ثم الملف web.config الخاصة بك والتي تتفوق على machine.config. ولكن في بعض الحالات يتم إلحاق القيم في الملف web.config أو تضمينها في القائمة بحيث أنه يمكن الحصول على القليل من الصعب متابعة.

ولكن يلاحقونهم Machine.config على الخادم العمل قد يلقي بعض الضوء أكثر بالنسبة لك.

نصائح أخرى

ووMachine.Config يحمل الإعدادات التي تتعلق الكمبيوتر بالكامل. بعض عناصر Machine.Config تسمح لك بتجاوزها. إذا كان العنصر لديه allowOverride = "true" السمة يمكن تجاوز الملف web.config. ومع ذلك، إذا كان يعمل على أجهزة أخرى أود أن ننظر في الاختلافات في ملفات machine.config.

ونضع في اعتبارنا أنه ليس من عادة ما تكون فكرة جيدة لتحرير machine.config إسبانيا. إذا كنت تخطط لنشر إلى أجهزة متعددة.

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