10

Sitecore 7.1 ソリューションのGlass.Mapper.Sc.CastleWindsorバージョンのパッケージをインストールし、推論されたタイプを操作しようとしています。3.1.2.11私は次のクラスを持っています:

[SitecoreType]
public class ServiceConfiguration
{
    [SitecoreField(FieldName = "Service Id")]
    public virtual string ServiceId { get; set; }
}

[SitecoreType(TemplateId = "{26512C19-8D30-4A1E-A2CD-3BA89AF70E71}")]
public class JavascriptServiceConfiguration : ServiceConfiguration
{
    [SitecoreField(FieldName = "Is Header Responsive")]
    public virtual bool IsHeaderResponsive { get; set; }
}

そして、私はこのアイテムを持っています:

ここに画像の説明を入力

私のコードでは、次のコード行を使用して、グラスによってマップされた現在のコンテキストからこのアイテムを取得しようとしています。

var serviceConfig = (new SitecoreContext()).GetItem<ServiceConfiguration>("{5436EEC6-1A4D-455F-8EF7-975C51FAE649}", inferType: true);

推論された型に関するドキュメントによると、それはserviceConfig型であると予想されますが、型です。何か不足していますか?ガラスに対して特定の構成を行っていません。JavascriptServiceConfigurationServiceConfiguration

4

1 に答える 1

15

タイプを推測する前に、Glass.Mapper によってロードする必要があります。Glass の最新バージョンでは、リクエストされたときにタイプが読み込まれますが、これは推定されたタイプでは機能しません。これを解決するには、アプリケーションの起動時に Glass に型をロードさせることができます。

まず、ソリューションで GlassMapperScCustom クラスを見つけます。その後、GlassLoaders メソッドを更新する必要があります。

    public static IConfigurationLoader[] GlassLoaders()
    {
        var attributes = new AttributeConfigurationLoader("Your assembly name");

        return new IConfigurationLoader[] {attributes };
    }

これで解決しない場合はお知らせください。

于 2014-01-07T11:31:56.960 に答える