Open codeworm47 opened 7 years ago
Came across this issue myself. Assuming your model is something you know is serializable you can let the serializer know to expect it by adding the following to your web.config
<system.runtime.serialization>
<dataContractSerializer>
<declaredTypes>
<add type="DevTrends.MvcDonutCaching.ActionSettings, DevTrends.MvcDonutCaching">
<knownType type="ECS.Infrastructure.ViewModels.ProductModel.ProductRichSnippetViewModel, ECS.Infrastructure" />
</add>
</declaredTypes>
</dataContractSerializer>
</system.runtime.serialization>
Where the knownType
tag should be the fully qualified type name you want the serialize to know about.
I'm passing a model object to Action method extension which recessives an extra parameter (excludeFromParentCache) to determine whether child action should be exclude from cache but I get this error
here is my code in my view
@section RichSnippetJson{ @{ var productRichSnippet = new ECS.Infrastructure.ViewModels.ProductModel.ProductRichSnippetViewModel() { HasActiveSize = Model.Config != null && Model.Config.ProductSizes != null && Model.Config.ProductSizes.Any(p => p.Enabled), ImageUrl = Model.Config != null && Model.Config.ProductImages != null && Model.Config.ProductImages.Any() ? Model.Config.ProductImages.First() : "", ProductId = Model.ProductId, Url = Model.Config != null ? Url.ProductUrl(Model.ProductId, Model.Config.FaTitle) : ECS.Facade.FacadeInterface.Facade.GetAppConfigValue("Seo-Title-Site"), Availibility = (int)Model.Status, AlternateTitle = Model.Config != null ? Model.Config.EnTitle : "", Title = Model.Config != null ? Model.Config.FaTitle : "", BrandFaTitle = Model.Brand.FaTitle, Price = Model.Config != null && Model.Config.PriceInfo != null ? Model.Config.PriceInfo.Discount > 0 ? Model.Config.PriceInfo.DisplayPrice.Replace(",", "") : Model.Config.PriceInfo.PayableAmount.Replace(",", "") : "0", Description = Model.PageDescription }; } @Html.Action("GetRichSnippet", "Product", new { model = productRichSnippet },true) }
Do note that it's ok if I call default action method of mvc, so I think there must be a bug in Donutcache