XenApp 6.5 Web界面网站

时间:2014-06-26 18:09:15

标签: asp.net .net citrix

我正在对使用XenApp 6.5的客户端站点进行故障排除我正在处理环境的Web界面部分。我安装了软件。我在尝试浏览网站时遇到ASP.NET错误:

Event code: 3007 
Event message: A compilation error has occurred. 
Event time: 6/26/2014 1:52:13 PM 
Event time (UTC): 6/26/2014 5:52:13 PM 
Event ID: e7ea3f7fbb674994a8e0f9d0374c287e 
Event sequence: 3 
Event occurrence: 1 
Event detail code: 0 

Application information: 
    Application domain: /LM/W3SVC/1/ROOT/Citrix/XenApp-3-130482787320377658 
    Trust level: Full 
    Application Virtual Path: /Citrix/XenApp 
    Application Path: C:\inetpub\wwwroot\Citrix\XenApp\ 
    Machine name: VM01-WEBAPP1 

Process information: 
    Process ID: 4440 
    Process name: w3wp.exe 
    Account name: IIS APPPOOL\CitrixWebInterface5.4.0AppPool 

Exception information: 
    Exception type: HttpCompileException 
    Exception message: c:\inetpub\wwwroot\Citrix\XenApp\app_code\PagesCs\pageutils\PlatformSpecificUtilsImpl.cs(33): error CS0246: The type or namespace name 'PlatformSpecificUtils' could not be found (are you missing a using directive or an assembly reference?)
   at System.Web.Compilation.AssemblyBuilder.Compile()
   at System.Web.Compilation.BuildProvidersCompiler.PerformBuild()
   at System.Web.Compilation.CodeDirectoryCompiler.GetCodeDirectoryAssembly(VirtualPath virtualDir, CodeDirectoryType dirType, String assemblyName, StringSet excludedSubdirectories, Boolean isDirectoryAllowed)
   at System.Web.Compilation.BuildManager.CompileCodeDirectory(VirtualPath virtualDir, CodeDirectoryType dirType, String assemblyName, StringSet excludedSubdirectories)
   at System.Web.Compilation.BuildManager.CompileCodeDirectories()
   at System.Web.Compilation.BuildManager.EnsureTopLevelFilesCompiled()
   at System.Web.Compilation.BuildManager.CallAppInitializeMethod()
   at System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException)



Request information: 
    Request URL: http://vm01-webapp1.rainiertitle.com/Citrix/XenApp/ 
    Request path: /Citrix/XenApp/ 
    User host address: fe80::ac8f:cd44:e6b0:b5a 
    User:  
    Is authenticated: False 
    Authentication Type:  
    Thread account name: IIS APPPOOL\CitrixWebInterface5.4.0AppPool 

Thread information: 
    Thread ID: 3 
    Thread account name: IIS APPPOOL\CitrixWebInterface5.4.0AppPool 
    Is impersonating: False 
    Stack trace:    at System.Web.Compilation.AssemblyBuilder.Compile()
   at System.Web.Compilation.BuildProvidersCompiler.PerformBuild()
   at System.Web.Compilation.CodeDirectoryCompiler.GetCodeDirectoryAssembly(VirtualPath virtualDir, CodeDirectoryType dirType, String assemblyName, StringSet excludedSubdirectories, Boolean isDirectoryAllowed)
   at System.Web.Compilation.BuildManager.CompileCodeDirectory(VirtualPath virtualDir, CodeDirectoryType dirType, String assemblyName, StringSet excludedSubdirectories)
   at System.Web.Compilation.BuildManager.CompileCodeDirectories()
   at System.Web.Compilation.BuildManager.EnsureTopLevelFilesCompiled()
   at System.Web.Compilation.BuildManager.CallAppInitializeMethod()
   at System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException): 

这是我的web.config:

<?xml version="1.0" encoding="utf-8"?>
<configuration>

    <configSections>
        <sectionGroup name="citrix.deliveryservices">
            <section name="certificateManager" type="Citrix.DeliveryServices.Security.Certificates.Configuration.CertificateManagerSection, Citrix.DeliveryServices.Security, Version=1.1.0.0, Culture=neutral, PublicKeyToken=e8b77d454fa2a856"/>
            <section name="tokenManager" type="Citrix.DeliveryServices.Security.Tokens.Configuration.TokenManagerSection, Citrix.DeliveryServices.Security, Version=1.1.0.0, Culture=neutral, PublicKeyToken=e8b77d454fa2a856" />
            <section name="claimsPrincipalFactory" type="Citrix.DeliveryServices.Security.Claims.Configuration.ClaimsPrincipalFactorySection, Citrix.DeliveryServices.Security, Version=1.1.0.0, Culture=neutral, PublicKeyToken=e8b77d454fa2a856"/>
            <section name="cryptography" type="Citrix.DeliveryServices.Security.Cryptography.Configuration.CryptoSection, Citrix.DeliveryServices.Security, Version=1.1.0.0, Culture=neutral, PublicKeyToken=e8b77d454fa2a856" />
        </sectionGroup>
    </configSections>

    <system.web>
        <httpRuntime enableVersionHeader="false" executionTimeout="300" />
        <httpModules>
            <add name="AuthenticationFilter" type="com.citrix.authentication.web.AuthenticationFilter, AuthenticationFilter" />
        </httpModules>
        <httpHandlers>
            <add verb="*" path="*.inc" type="System.Web.HttpForbiddenHandler" />
        </httpHandlers>
        <compilation debug="false" batch="true" defaultLanguage="C#">
            <assemblies>
                <add assembly="vjslib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
                <add assembly="System.DirectoryServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
                <add assembly="Citrix.DeliveryServices.Security, Version=1.1.0.0, Culture=neutral, PublicKeyToken=e8b77d454fa2a856" />

                <!-- Enable Inbound SSO to be used by the application -->
                <add assembly="Citrix.Platform.Authentication.InboundSingleSignOn, Version=1.1, Culture=neutral, PublicKeyToken=78839bad31843db7"/>
          </assemblies>
            <codeSubDirectories>
                <add directoryName="PagesJava" />
                <add directoryName="PagesCs" />
            </codeSubDirectories>
            <buildProviders>
                <add extension=".ica" type="System.Web.Compilation.PageBuildProvider" />
                <add extension=".rad" type="System.Web.Compilation.PageBuildProvider" />
            </buildProviders>
        </compilation>
        <httpCookies httpOnlyCookies="true" />
        <pages
            buffer="true"
            enableViewState="false"
            validateRequest="false"
        />
        <globalization
            fileEncoding="utf-8"
            requestEncoding="utf-8"
            responseEncoding="utf-8"
        />
        <trace enabled="false" requestLimit="100" localOnly="true" />
        <customErrors mode="Off" defaultRedirect="~/html/serverError.html">
        </customErrors>
        <authentication mode="Windows" />
        <trust level="Full" />
    </system.web>

    <location path="site/launch.ica">
        <system.web>
            <httpHandlers>
                <add verb="*" path="*.ica" type="System.Web.UI.PageHandlerFactory"/>
            </httpHandlers>
        </system.web>
    </location>

    <location path="site/launch.rad">
        <system.web>
            <httpHandlers>
                <add verb="*" path="*.rad" type="System.Web.UI.PageHandlerFactory"/>
            </httpHandlers>
        </system.web>
    </location>

    <appSettings>
        <add key="AUTH:UNPROTECTED_PAGES" value="/rade.aspx,/auth/style.aspx,/auth/javascript.aspx,/auth/silentDetection.aspx,/auth/clientDetectionOutputs.aspx,/auth/clientDetectionPreInputs.aspx,/auth/nocookies.aspx,/auth/certificateError.aspx,/auth/accessDeniedError.aspx,/auth/agelogout.aspx,/auth/loggedout.aspx,/auth/loginSettings.aspx,/auth/messageScreen.aspx,/auth/changeMode.aspx,/auth/preLoginMessage.aspx,/auth/preCertificate.aspx" />
        <add key="AUTH:UNPROTECTED_DIRECTORIES" value="/media,/html,/Clients,/clientDetection" />
        <add key="AUTH:AUTH_SUBDIR" value="/auth/" />
        <add key="AUTH:LOGIN_PAGE" value="login" />
        <add key="AUTH:LOGGED_OUT_PAGE" value="loggedout" />
        <add key="AUTH:DEFAULT_AUTHENTICATED_PAGE" value="/site/default" />
        <add key="AUTH:SESSION_MODULE_NAME" value="Session" />
        <add key="AUTH:SESSION_ERROR_URL" value="/html/sessionError.html" />
        <add key="BOOTSTRAP_RESOURCE_PATH" value="/bootstrap.conf" />
        <add key="COMMON_FILES_PATH" value="C:\Program Files (x86)\Citrix\Web Interface\5.4.0" />
        <add key="COMMON_LANGUAGES_PATH" value="C:\Program Files (x86)\Citrix\Web Interface\5.4.0\languages" />
        <add key="COMMON_CLIENTS_PATH" value="C:\Program Files (x86)\Citrix\Web Interface\5.4.0\Clients" />
        <add key="COMMON_WIZARD_LANG_PATH" value="C:\Program Files (x86)\Citrix\Web Interface\5.4.0\clientDetection\localizedContent" />
        <add key="COMMON_WIZARD_HELP_PATH" value="C:\Program Files (x86)\Citrix\Web Interface\5.4.0\clientDetection\help" />
        <add key="COMMON_WIZARD_MEDIA_PATH" value="C:\Program Files (x86)\Citrix\Web Interface\5.4.0\clientDetection\media" />
        <add key="RESOURCE-ROOT:Config" value="\conf" />
        <add key="RESOURCE-ROOT:DTD" value="\conf" />
        <add key="RESOURCE-ROOT:ResourceFiles" value="\languages" />
        <add key="RESOURCE-ROOT:MPSClients" value="\Clients" />
        <add key="RESOURCE-ROOT:WizardLangFiles" value="\clientDetection\localizedContent" />
        <add key="RESOURCE-ROOT:WizardHelpFiles" value="\clientDetection\help" />
        <add key="RESOURCE-ROOT:WizardMediaFiles" value="\clientDetection\media" />
        <add key="LOG:EVENT_SOURCE" value="Citrix Web Interface" />
        <add key="LOG:SITE_FILESYSTEM_PATH" value="C:\inetpub\wwwroot\Citrix\XenApp" />
        <add key="LOG:EVENT_ID_FILE_SOURCE" value="/WebInterfaceEventIds.txt" />
        <add key="WIZARD_DEFAULT_REDIRECT_URL" value="/auth/clientDetectionOutputs.aspx" />
        <add key="RADIUS_SECRET_PATH" value="/radius_secret.txt" />
        <add key="RADIUS_NAS_IDENTIFIER" value="" />
        <add key="RADIUS_NAS_IP_ADDRESS" value="" />
        <add key="AUTH:SERVER_ERROR" value="/html/serverError.html" />

        <!-- Specify the number of hours that clients should cache application icons (1 year by default); 0 to prevent caching -->
        <add key="APPLICATION_ICON_CACHE_HOURS" value="8760" />

        <!-- Specify the number of hours that clients should cache JavaScript; 0 to prevent caching -->
        <add key="JAVASCRIPT_CACHE_HOURS" value="12" />

        <!-- Specify the number of hours that clients should cache CSS; 0 to prevent caching -->
        <add key="CSS_CACHE_HOURS" value="12" />
    </appSettings>

    <system.diagnostics>
      <switches>

        <!-- This switch controls whether trace messages are prefixed with a timestamp: 0=Off, 1=On -->
        <add name="DisplayTimeStamp" value="0" />

        <!-- This switch controls whether trace messages are prefixed with a thread id: 0=Off, 1=On -->
        <add name="DisplayThreadId" value="0" />

        <!-- This switch controls diagnostic messages for authentication (excl. the authentication filter): 0=Off, 1=On -->
        <add name="Authentication" value="0" />

        <!-- This switch controls diagnostic messages for the authentication filter: 0=Off, 1=On -->
        <add name="AuthFilter" value="0" />

        <!-- This switch controls diagnostic messages for detecting user's client: 0=Off, 1=On -->
        <add name="ClientInfo" value="0" />

        <!-- This switch controls diagnostic messages for detecting clients on the web server: 0=Off, 1=On -->
        <add name="ClientManager" value="0" />


        <!-- This switch controls diagnostic messages for end user experience monitoring: 0=Off, 1=On -->
        <add name="EUEM" value="0" />

        <!-- This switch controls diagnostic messages for language pack processing: 0=Off, 1=On -->
        <add name="LanguagePacks" value="0" />

        <!-- This switch controls diagnostic messages for the application launch mechanism: 0=Off, 1=On -->
        <add name="Launch" value="0" />

        <!-- This switch controls the tracing of log messages: 0=Off, 1=On -->
        <add name="Logging" value="0" />

        <!-- This switch controls diagnostic messages for network communication: 0=Off, 1=On -->
        <add name="Network" value="0" />

        <!-- This switch controls diagnostic messages for the socket pool: 0=Off, 1=On -->
        <add name="SocketPool" value="0" />


        <!-- This switch controls diagnostic messages for the Rade request validation: 0=Off, 1=On -->
        <add name="RadeRequestValidation" value="0" />
      </switches>

      <trace autoflush="false">
        <listeners>
          <!-- This will cause tracing to be sent to the c:\temp\wi-debug.txt.  Uncomment to enable -->
          <!-- Ensure that the directory exists else IIS will throw an error -->
          <!--
          <add name="fileListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="c:\temp\wi-debug.txt" />
          -->
        </listeners>
      </trace>
    </system.diagnostics>

    <!-- IIS7 specific settings -->
    <system.webServer>
        <httpProtocol>
            <!-- Remove HTTP headers that are known to divulge information about the web server -->
            <!-- For IIS6 this is done programmatically during site creation -->
            <customHeaders>
                <remove name="MicrosoftOfficeWebServer" />
                <remove name="X-Powered-By" />
            </customHeaders>
        </httpProtocol>
    </system.webServer>

    <citrix.deliveryservices>
        <cryptography>
            <signatures>
                <add name="rsa-sha1" class="Citrix.DeliveryServices.Security.Cryptography.Signature.XmlSignature10, Citrix.DeliveryServices.Security, Version=1.1.0.0, Culture=neutral, PublicKeyToken=e8b77d454fa2a856" />
                <add name="rsa-sha1-2" class="Citrix.DeliveryServices.Security.Cryptography.Signature.XmlSignature10, Citrix.DeliveryServices.Security, Version=1.1.0.0, Culture=neutral, PublicKeyToken=e8b77d454fa2a856"
                    oid="1.3.14.3.2.29" />
                <!-- The following entries currently require a modification to machine.config -->
                <add name="rsa-sha256" class="Citrix.DeliveryServices.Security.Cryptography.Signature.XmlSignature11, Citrix.DeliveryServices.Security, Version=1.1.0.0, Culture=neutral, PublicKeyToken=e8b77d454fa2a856"
                    oid="1.2.840.113549.1.1.11"
                    algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"
                    digestMethod="http://www.w3.org/2001/04/xmlenc#sha256" />
                <add name="rsa-sha384" class="Citrix.DeliveryServices.Security.Cryptography.Signature.XmlSignature11, Citrix.DeliveryServices.Security, Version=1.1.0.0, Culture=neutral, PublicKeyToken=e8b77d454fa2a856"
                    oid="1.2.840.113549.1.1.12"
                    algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha384"
                    digestMethod="http://www.w3.org/2001/04/xmldsig-more#sha384" />
                <add name="rsa-sha512" class="Citrix.DeliveryServices.Security.Cryptography.Signature.XmlSignature11, Citrix.DeliveryServices.Security, Version=1.1.0.0, Culture=neutral, PublicKeyToken=e8b77d454fa2a856"
                    oid="1.2.840.113549.1.1.13"
                    algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha512"
                    digestMethod="http://www.w3.org/2001/04/xmlenc#sha512" />
            </signatures>
        </cryptography>
    </citrix.deliveryservices>

</configuration>

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

您的特定错误与我可以看到的任何类似情况都不完全匹配,但是我发现的这类问题的所有点击似乎都归结为文件系统权限。这个帖子似乎是最有帮助的:

http://discussions.citrix.com/topic/103374-wi-50-compilation-error/

我尝试使用Sys Internals的ProcessMonitor,看看w3wp.exe是否由于缺少权限而无法访问文件。

答案 1 :(得分:0)

在IIS 7.5中,将CitrixWebInterface5.4.0AppPool的应用程序池标识更改为网络服务。