سؤال

لقد قمت بتثبيت AppFabric على الخادم. لقد أنشأت مجموعة من جهاز كمبيوتر واحد. لقد قمت أيضًا بإنشاء ذاكرة التخزين المؤقت المسماة "Gagan". استخدم الأوامر التالية بالترتيب

use-cachecluster -Provider XML -Connectionstring nb-gjanjua cache start-cachecluster

النتيجة هي أن خدمة ذاكرة التخزين المؤقت تعمل على الجري .. جيد جدًا.

ثم قمت بإعداد ملف web.config كما أدناه

<?xml version="1.0"?>
<configuration>
    <configSections>
    <section name="dataCacheClient"
type="Microsoft.ApplicationServer.Caching.DataCacheClientSection,
        Microsoft.ApplicationServer.Caching.Core, Version=1.0.0.0, 
        Culture=neutral, PublicKeyToken=31bf3856ad364e35"
allowLocation="true"
allowDefinition="Everywhere"/>   

</configSections>

<!-- cache client -->
<dataCacheClient>
<!-- cache host(s) -->

<hosts>
  <host
     name="NB-GJANJUA.com"
     cachePort="22233"/>
</hosts>
</dataCacheClient>

<system.web>    

<compilation debug="true" targetFramework="4.0" >
    <assemblies>
      <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
      <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
      <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
      <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
      <add assembly="Microsoft.ApplicationServer.Caching.Client, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
      <add assembly="Microsoft.ApplicationServer.Caching.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
    </assemblies>
</compilation>

<sessionState mode="Custom" customProvider="SessionStore" cookieless="true">
  <providers>
    <add name="SessionStore" type="Microsoft.ApplicationServer.Caching.DataCacheSessionStoreProvider" cacheName="Gagan" />
  </providers>
</sessionState>
</system.web>

<system.webServer>
 <modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
</configuration>

ولكن بمجرد إطلاق موقعي ، فإنه يأتي بهذا الخطأ

رسالة خطأ المحلل: ErrorCode: Substatus: هناك فشل مؤقت. الرجاء إعادة المحاولة لاحقًا. (لا تتوفر خوادم ذاكرة التخزين المؤقت المحددة أو أكثر ، والتي يمكن أن تكون ناتجة عن شبكة أو خوادم مزدحمة. تأكد من منح إذن الأمان لهذا حساب العميل على المجموعة وأن خدمة التخزين المؤقت AppFabric مسموح بها من خلال جدار الحماية على جميع مضيفي ذاكرة التخزين المؤقت. أعد المحاولة لاحقًا.)

خطأ المصدر:

Line 44:     <sessionState mode="Custom" customProvider="SessionStore" cookieless="true">
Line 45:       <providers>
Line 46:         <add name="SessionStore" type="Microsoft.ApplicationServer.Caching.DataCacheSessionStoreProvider" cacheName="Gagan" />
Line 47:       </providers>
Line 48:     </sessionState>

هل هناك شيء أفتقده؟

ملاحظة: لقد أشرت بالفعل إلى microsoft.applicationserver.caching.client و microsoft.applicationserver.caching.core التجميعات

شكرا لوقتك و صبرك

فيما يتعلق غاغان جانجوا

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

المحلول

هل منحت الوصول إلى ذاكرة التخزين المؤقت لأي مستخدم يعمل موقع الويب الخاص بك؟

Grant-CachealLowedClientAccount Gagan

نصائح أخرى

كنت أيضا هذا الخطأ. فقط لاختبار العميل في التطوير ، قمت بإيقاف تشغيل الأمان باستخدام أمر AppFabric Power Shell

   Stop-CacheCluster
   Set-CacheClusterSecurity -SecurityMode None -ProtectionLevel None
   Start-CacheCluster

قم أيضًا بتعيين متابعة في تطبيق العميل في web.config

   <dataCacheClient>
     <securityProperties mode="None" protectionLevel="None"/>
   </dataCacheClient>

هذا ليس سيناريو الإنتاج ولكن الخطأ أعلاه يختفي عند تطبيق هذه الإعدادات.

واجهت مشكلة مماثلة ، تشغيل IIS 7.5 على Windows Server 2008 R2. لقد قمت بحلها عن طريق إصدار الأوامر التالية في PowerShell (بدأت من مجلد Windows AppFabric in Start ، جميع البرامج):

New Cache -Cachename NameOfCacheassetInwebConfig -Timetolive 30
Grant-CachealLowedClientAccount "IIS AppPool NameOfapPoopOlRunningsite"

بمجرد أن فعلت ذلك ، تم تعيين كل شيء.

لقد حللت هذه المشكلة على النحو التالي:

قم بتشغيل Windows Task Manager وإشعار تحت اسم المستخدم الذي يتم تشغيله w3wp.exe؟

في حالتي كان: ASP.NET V4.0

تم إطلاق START -> جميع البرامج -> تطبيق تطبيق Windows Server -> مدير IIS

في IIS ، حدد اسم الجهاز ثم تجمعات التطبيقات في أعلى اليسار.

في تجمعات التطبيقات .. قم بتحديد أن ASP.NET V4.0 موجود تحت تجمعات التطبيقات.

تم إطلاق START -> جميع البرامج -> Fabric Windows Server -> Caching إدارة Windows Shell

اكتب الأمر التالي على المطالبة: Grant-CachealLowedClientAccount "ASP.NET V4.0"

إعادة تشغيل تطبيق الويب وذهب الخطأ التالي:

ErrorCode<ERRCA0017>:SubStatus<ES0006>:There is a temporary failure. Please retry later. (One or more specified Cache servers are unavailable, which could be caused by busy network or servers. Ensure that security permission has been granted for this client account on the cluster and that the AppFabric Caching Service is allowed through the firewall on all cache hosts. Retry later.)

لقد واجهت هذه المشكلة ، وكانت مجموعة ذاكرة التخزين المؤقت قد انخفضت بعد إعادة التشغيل. لم أكن أدرك أنه يتعين عليك تبديل الخدمة يدويًا للبدء تلقائيًا في الخدمات. معلومات مفصلة عن ذلك هنا.

التعليق على ما يلي في التكوين إصلاحه من أجلي:

<sessionState customProvider="AppFabricCacheSessionStoreProvider" mode="Custom" timeout="90">
  <providers>
    <add name="AppFabricCacheSessionStoreProvider" type="Microsoft.ApplicationServer.Caching.DataCacheSessionStoreProvider" cacheName="Session" sharedId="SharedApp" />
  </providers>
</sessionState>

افتراضيًا ، سيتم إعداد عمليات العامل كمستخدم IIS ، يحتاج هؤلاء المستخدمون إلى الوصول. في الخاص بك التخزين المؤقت لإدارة Windows PowerShell اكتب ما يلي

Grant-CachealLowedClientAccount IIS_IUSRS

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