Azure 환경에 sitecore 응용 프로그램을 배포하는 데 문제가 있습니다. 클라우드 서비스를 업데이트 한 후에는 시작할 수 없으며 정보를 제공합니다 : Unhandled Exception: Microsoft.ApplicationServer.Caching.DataCacheException
.Sitecore azure을 시작할 수 없습니다.
0 : [00003180:00000006, 2014/09/09 06:35:16.89, ERROR] Unhandled exception: IsTerminating 'True', Message 'System.TimeoutException: We waited for 'Boolean <CreateSymbolicLink>b__1()' that didn't finish within 00:00:30.
at System.Environment.GetStackTrace(Exception e, Boolean needFileInfo)
at System.Environment.get_StackTrace()
at Sitecore.Azure.Sys.Retryer.Do.Until(Func`1 predicate, TimeSpan timeout)
at RoleRootConfigurator.CreateSymbolicLink(String relativePathToAppRoot, DirectoryInfo localResourceDir)
at WebRole.RoleRootConfigurator.ConfigureSymbolicLinksForApproot(DirectoryInfo localResourceDir)
at WebRole.OnStart()
at Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment.InitializeRoleInternal(RoleType roleTypeEnum)
at Microsoft.WindowsAzure.ServiceRuntime.Implementation.Loader.RoleRuntimeBridge.<InitializeRole>b__0()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
at Sitecore.Azure.Sys.Retryer.Do.Until(Func`1 predicate, TimeSpan timeout)
at WebRole.RoleRootConfigurator.CreateSymbolicLink(String relativePathToAppRoot, DirectoryInfo localResourceDir)
at WebRole.RoleRootConfigurator.ConfigureSymbolicLinksForApproot(DirectoryInfo localResourceDir)
at WebRole.OnStart()
at Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment.InitializeRoleInternal(RoleType roleTypeEnum)
at Microsoft.WindowsAzure.ServiceRuntime.Implementation.Loader.RoleRuntimeBridge.<InitializeRole>b__0()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()'
우리는 Sitecore 개발자에 의해 준비 코드를 기반으로 우리의 사용자 정의 WebRole을 만들었습니다 WaIISHost
프로세스 로그에서 나는 이러한 오류를 찾는거야. 여기에 기호 링크를 레이팅에 대한 책임 코드를 제시 : 이벤트 뷰어에서
public void ConfigureSymbolicLinksForApproot(DirectoryInfo localResourceDir)
{
if (RoleEnvironment.IsEmulated)
return;
Trace.TraceInformation(" -- Configure app root starting...");
this.CreateSymbolicLink("temp", localResourceDir);
this.CreateSymbolicLink("App_Data/debug", localResourceDir);
this.CreateSymbolicLink("App_Data/diagnostics", localResourceDir);
this.CreateSymbolicLink("App_Data/indexes", localResourceDir);
this.CreateSymbolicLink("App_Data/logs", localResourceDir);
this.CreateSymbolicLink("App_Data/packages", localResourceDir);
this.CreateSymbolicLink("App_Data/viewstate", localResourceDir);
this.CreateSymbolicLink("App_Data/MediaCache", localResourceDir);
this.CreateSymbolicLink("App_Data/Submit_Queue", localResourceDir);
}
private void CreateSymbolicLink(string relativePathToAppRoot, DirectoryInfo localResourceDir)
{
DirectoryInfo appRootDir = new DirectoryInfo(Path.Combine(this.AppRoot.FullName, relativePathToAppRoot));
Do.ThisOnce((Action)(() => RmDir.RemoveDir(appRootDir))).Until((Func<bool>)(() => !Directory.Exists(appRootDir.FullName)));
DirectoryInfo tempLocalResourceDir = new DirectoryInfo(Path.Combine(localResourceDir.FullName, relativePathToAppRoot));
Do.ThisOnce(new Action(tempLocalResourceDir.CreateIfNotExists)).Until((Func<bool>)(() => Directory.Exists(tempLocalResourceDir.FullName)));
Do.ThisOnce((Action)(() => MkLink.CreateLink(appRootDir, tempLocalResourceDir))).WithTracePing("Waiting for '{0}' to be created as symbolic link in app root", (object)appRootDir.FullName).Until((Func<bool>)(() => Directory.Exists(appRootDir.FullName)));
}
나는 또한 발견했습니다 같은 정보 :
Faulting application name: CacheService.exe, version: 1.0.5137.0, time stamp: 0x52304f01
Faulting module name: KERNELBASE.dll, version: 6.2.9200.16864, time stamp: 0x531d34d8
Exception code: 0xe0434352
Fault offset: 0x0000000000047b8c
Faulting process id: 0x1e80
Faulting application start time: 0x01cfcc0ca7dac7a3
Faulting application path: F:\plugins\Caching\CacheService.exe
Faulting module path: D:\Windows\system32\KERNELBASE.dll
Report Id: ee6a3966-37ff-11e4-93f6-00155d67d4ca
Faulting package full name:
Faulting package-relative application ID:
및
Application: CacheService.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: Microsoft.ApplicationServer.Caching.DataCacheException
Stack:
at Microsoft.ApplicationServer.Caching.AzureCommon.AzureUtility.ProcessException(System.Exception)
at Microsoft.ApplicationServer.Caching.Colocatedservice.CacheService.<OnStart>b__0(System.Object)
at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
이를 바탕으로 내가 시도했다 Sitecore 또는 Azure SDK 2.2 폴더에있는 Nuget을 사용하여 Windows AzureCache 라이브러리를 업데이트하지만 아무 것도 변경되지 않았습니다. 어떤 도움도 감사 할 것입니다.
하늘빛 인스턴스를 중지하는 것은 도움이되었습니다. :) – jacbar