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>
I recently encountered this problem myself. Indeed simple types work well, but not complex types.
To workaround this issue since then, I always serialize and deserialize my objects before navigating to a new page and deserialize my objects when landing on that new page.
Here is a simple code to achieve this:

When landing on a page :

```
Private Sub NavigationHelper_LoadState(sender As Object, e As Common.LoadStateEventArgs)
    Dim NavParameter As Object = GetPageNavigationParameterFromString(e.NavigationParameter)
    If TypeOf (NavParameter) Is MyObjectToTransfer Then
        _transferedObject = CType(NavParameter, MyObjectToTransfer)
    End If
End Sub

```

When navigating to a page :

```
Frame.Navigate(GetType(MyCurrentPage), GetPageNavigationParameterFromObject(New MyObjectToTransfer(arg1, arg2 etc...)))

```

Using these functions :

```
Public Shared Function GetPageNavigationParameterFromObject(stateObject As Object) As String
        If stateObject Is Nothing Then Return String.Empty
        ... your code to serialize your object as a string
End Function

Public Shared Function GetPageNavigationParameterFromString(stateString As String) As Object
        If stateString Is Nothing Then Return Nothing
        ... your code to deserialize your string to an object
End Function

```

Works well for any object type provided you can serialize/deserialize it for example using Json.

Good luck!