Istnieje wiele pytań, które są podobne do tego ... ale nie widzę w jaki sposób mają ten specyficzny problem:Nie można przetworzyć stanu sesji z powodu Microsoft.Web.Services3.StateManager?
Mam usługa, która zwraca błąd, który zaczyna się:
Nie serializować stan sesji. W trybie "StateServer" i "SQLServer", ASP.NET będzie serializować obiekty stanu sesji, , w wyniku czego obiekty nie podlegające serializacji lub obiekty MarshalByRef są niedozwolone. To samo ograniczenie ma zastosowanie, jeśli podobna serializacja jest przeprowadzana przez niestandardową składnicę stanów sesji w trybie "Niestandardowy".
więc pytania typu this wzmianki szukać SerializationException, dowiedzieć się, co jest w stanie być w odcinkach, a potem to serializacji. Dźwięki proste ... ale kiedy patrzę na nią, uważam to:
[SerializationException: Typ 'Microsoft.Web.Services3.StateManager' w Microsoft.Web.Services3 montażowych, Version = 3.0.0.0 , Culture = neutral, TokenKluczaPublicznego = 31bf3856ad364e35' nie jest oznaczony jako serializable.]
to mnie niepokoi ... to brzmi jak to faktycznie próbuje serializować StateManager ... to jest właśnie to, że ukrywa, że coś innego w środku jest StateManager nie można serializować? Jeśli tak, to czy istnieje sposób, aby dowiedzieć się, co? Czy może z jakiegoś powodu StateManager ma być serializowany? (Podejrzewam, że nie mówię tego bardzo wyraźnie ... przepraszam ... jeśli masz pytania, zrobię co w mojej mocy, aby na nie odpowiedzieć.)
Jedną z rzeczy, którą powinienem również zauważyć jest to, że jesteśmy przy użyciu NCache jako dostawcy sesji sesji, który wydaje się, że mógłby być w jakiś sposób powiązany. Ale nie jest dla mnie jasne, jak to może spowodować to, co widzę.
To bardzo dziwne. Czy możesz przypiąć go do określonej linii kodu? Czy dzieje się to podczas każdego wywołania metody lub tylko niektórych? –
Niestety, nie. Zdarza się to tylko czasami, i choć zdarzy się to kilka razy z rzędu, potem znika i nie możemy odtworzyć go później, więc trudno było go wyśledzić. – Beska
Zakładam, że sprawdziłeś wszystko, co jawnie wprowadzasz w stan sesji lub używasz sesji jako magazynu wsparcia, a przypadkiem nie wprowadzasz do sesji StateManagera. (Prawdopodobnie zobaczysz więcej wzoru, jeśli to robisz). Ponieważ mówisz, że używasz NCache, zacznę rozmawiać z tą firmą i przeglądać fora tej firmy itp., Jeśli jeszcze tego nie zrobiłeś. –