Question: Can any one please provide me list of deprecates services in webMethods for upgrading from 7.x to 9.5.

Thanks,
Vaishnavi

Answer: 
Its likely you are passing a complex type to Navigate() somewhere, and that can't type be serialized. 

As answered by Luis Cantero [here](http://social.msdn.microsoft.com/Forums/windowsapps/en-US/ad753362-0d52-42b3-8917-b2897033ba49/getnavigationstate-doesnt-support-serialization-of-a-parameter-type-which-was-passed-to?forum=winappswithcsharp) : 

> 
> To enable serialization of the frame's state using GetNavigationState,
>  you must pass only basic types to this method, such as string, char,
>  numeric, and GUID types. If you pass an object as a parameter, an
>  entry in the frame's navigation stack holds a reference on the object
>  until the frame is released or that entry is released upon a new
>  navigation that diverges from the stack. In general, we discourage
>  passing a non-basic type as a parameter to Navigate because it can’t
>  be serialized when the application is suspended, and can consume more
>  memory because a reference is held by the frame’s navigation stack to
>  allow the application to go forward and back.
> 
> 
> 

Also see [Exception when calling SuspensionManager.SaveAsync()](https://stackoverflow.com/questions/13555722/exception-when-calling-suspensionmanager-saveasync)

and <http://www.damirscorner.com/UsingSuspensionManagerForSavingApplicationState.aspx>
[Prism talks about your scenario specifically in their wiki.](https://prismwindowsruntime.codeplex.com/wikipage?title=Passing%20Parameters%20During%20Navigation)

This gist of it:

1. Don't do it. Use a simple type.
2. If you must do it and there is no alternative, serialize the object into a string and pass that along. Deserialize on the next page.

There is a lot more information on the wiki page, so please look there.