Casting IPublishedContent to Image (PublishedContentModels) type cases app to crash
I started debugging
IIS error
Web server received an invalid response while acting as a gateway or proxy server.
There is a problem with the page you are looking for, and it cannot be displayed. When the Web server (while acting as a gateway or proxy) contacted the upstream content server, it received an invalid response from the content server.
I realized this means IIS lost faith in the underlying app and stopped the execution. So my app timed out.
I looked into the logs of the Umbraco App and found out it is constantly restarting. And last thing it is doing is this:
Adding examine event handlers for index providers: 3
Seems like the examine has some problem with my website.
I found out what was the problem - for homepage I was fetching some additional data from some other pages, combining them and displaying them. For that I casted IPublishedContent to Umbraco.Web.PublishedContentModels.Image .And that caused the whole app to crash.
Logo = companyDetail.Logo as Image;
where companyDetail.Logo is
[ImplementPropertyType("logo")]
public IPublishedContent Logo
{
get { return this.GetPropertyValue<IPublishedContent>("logo"); }
}
So I'm quite perplexed what is the problem here. Can anyone explain what is the problem? I mean I'm using just simple cast and that will break the whole app?
companyDetail.Logo is an IPublishedContent, but is it actually an Image? If the cast fails it probably is not an Image instance. Can you try to output eg "@companyDetail.Logo.GetType()" in your view and see what the actual type is?
Hello Stephen, thanks for prompt reply. It turned out when I started using big IIS locally, I couldn't be more wrong. I was able to attach debugger to w3wp.exe process which was failing and it was with the exception
An unhandled exception of type 'System.StackOverflowException' occurred in Lucene.Net.dll
To answer your question, all of the entities I'm passing there have type of Umbraco.Web.PublishedContentModels.Image that's okay, problem is I'm using same pipeline to expose objects thru Rest API, and serialization I think is what causes this. When I exposed directly Umbraco.Web.PublishedContentModels.Image as a property of my model which is used for homepage and also for REST API (this call is executed on homepage also) the above exception happened.
So it was not the cast, but the serialization. If I create my own model of Image which has Width, Height and Url, it works fine.
I tried to serialize different PublishedContentModelsGenericPage this time and it exploded again, not sure if this is connected to my instance or its problem with Umraco.
Casting IPublishedContent to Image (PublishedContentModels) type cases app to crash
I started debugging
IIS error
I realized this means IIS lost faith in the underlying app and stopped the execution. So my app timed out.
I looked into the logs of the Umbraco App and found out it is constantly restarting. And last thing it is doing is this:
Seems like the examine has some problem with my website.
I found out what was the problem - for homepage I was fetching some additional data from some other pages, combining them and displaying them. For that I casted
IPublishedContent
toUmbraco.Web.PublishedContentModels.Image
.And that caused the whole app to crash.Logo = companyDetail.Logo as Image;
where companyDetail.Logo is
So I'm quite perplexed what is the problem here. Can anyone explain what is the problem? I mean I'm using just simple cast and that will break the whole app?
companyDetail.Logo is an IPublishedContent, but is it actually an Image? If the cast fails it probably is not an Image instance. Can you try to output eg "@companyDetail.Logo.GetType()" in your view and see what the actual type is?
Hello Stephen, thanks for prompt reply. It turned out when I started using big IIS locally, I couldn't be more wrong. I was able to attach debugger to w3wp.exe process which was failing and it was with the exception
To answer your question, all of the entities I'm passing there have type of
Umbraco.Web.PublishedContentModels.Image
that's okay, problem is I'm using same pipeline to expose objects thru Rest API, and serialization I think is what causes this. When I exposed directlyUmbraco.Web.PublishedContentModels.Image
as a property of my model which is used for homepage and also for REST API (this call is executed on homepage also) the above exception happened.So it was not the cast, but the serialization. If I create my own model of Image which has Width, Height and Url, it works fine.
I tried to serialize different
PublishedContentModels
GenericPage
this time and it exploded again, not sure if this is connected to my instance or its problem with Umraco.is working on a reply...