首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ASCX Web控件未存储在数据库中

ASCX Web控件未存储在数据库中
EN

Stack Overflow用户
提问于 2012-10-20 20:13:49
回答 1查看 278关注 0票数 5

最近,我们已经从Tridion5.3升级到Tridion2011 SP1。

在我们现有的实现中,我们有各种动态组件模板。对于少数CTs,输出格式为ASCX Web控件;对于少数CTs,输出格式为HTML片段。

发布后,我们遇到了1) ASCX WebControls没有存储到存储数据库(SQLServer)。在Tridion 5.3中,它们是。2)将HTML片段存储在数据库中。

在我们的实现中,二进制文件、页面、嵌入式组件模板存储在文件系统中,动态组件模板存储在SQL Sever数据库中。

我们认为我们在cd_storage_config中遗漏了一些东西。请找到附件中的配置文件。

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<Configuration Version="6.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="schemas/cd_storage_conf.xsd">
<Global>
    <ObjectCache Enabled="false">
        <Policy Type="LRU" Class="com.tridion.cache.LRUPolicy">
            <Param Name="MemSize" Value="16mb"/>
        </Policy>
        <Features>
            <Feature Type="DependencyTracker" Class="com.tridion.cache.DependencyTracker"/>
        </Features>
    </ObjectCache>
    <Storages>
        <Storage Type="persistence" Id="sqlserver" dialect="MSSQL" Class="com.tridion.storage.persistence.JPADAOFactory">
            <Pool Type="jdbc" Size="5" MonitorInterval="60" IdleTimeout="120" CheckoutTimeout="120" />
            <DataSource Class="com.microsoft.sqlserver.jdbc.SQLServerDataSource">
                <Property Name="serverName" Value="local" />
                <Property Name="portNumber" Value="1433" />
                <Property Name="databaseName" Value="TridionBroker" />
                <Property Name="user" Value="TridionBrokerUser" />
                <Property Name="password" Value="mypass" />
            </DataSource>
        </Storage>
        <Storage Type="filesystem" Class="com.tridion.storage.filesystem.FSDAOFactory" Id="defaultFile" defaultFilesystem="false">
            <Root Path="d:\Inetpub\MyPortal" />
        </Storage>
        <Storage Type="filesystem" Class="com.tridion.storage.filesystem.FSDAOFactory" Id="defaultDataFile" defaultFilesystem="true" defaultStorage="true">
            <Root Path="d:\Inetpub\MyPortal\data" />
        </Storage>
        <SearchFilter Name="SearchFilter" Class="com.tridion.broker.components.meta.MsSqlSearchFilterHome" defaultStorageId="sqlserver"/>
    </Storages>
</Global>
<ItemTypes defaultStorageId="defaultDataFile" cached="false">
    <Item typeMapping="Query" storageId="sqlserver"/>
    <Item typeMapping="Page" cached="false" storageId="defaultFile"/>
    <Item typeMapping="Binary" cached="false" storageId="defaultFile"/>
    <Item typeMapping="ComponentPresentation" itemExtension=".Jsp" storageId="sqlserver"/>
    <Item typeMapping="ComponentPresentation" itemExtension=".Asp" storageId="sqlserver"/>
    <Item typeMapping="ComponentPresentation" itemExtension=".Xml" storageId="sqlserver"/>
    <Item typeMapping="ComponentPresentation" itemExtension=".Txt" storageId="sqlserver"/>
    <Item typeMapping="Metadata" cached="true" storageId="sqlserver"/>
    <Item typeMapping="XSLT" cached="true" storageId="sqlserver"/>
</ItemTypes>
<License Location="d:\Tridion\config\cd_licenses.xml"/>

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-20 20:22:13

您的存储配置中没有任何ascx绑定。在5.3中,它曾经是Asp绑定。

更改以下内容:

代码语言:javascript
复制
<Item typeMapping="ComponentPresentation" itemExtension=".Asp" storageId="sqlserver"/>

至:

代码语言:javascript
复制
<Item typeMapping="ComponentPresentation" itemExtension=".ascx" storageId="sqlserver"/>

此外,在tridion 2011中,您不需要为每种类型(如txt、jsp等)指定映射。如果您希望所有内容都存储在db中。

您可以简单地执行以下操作:

代码语言:javascript
复制
<Item typeMapping="ComponentPresentation" storageId="sqlserver"/>
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12988309

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档