Последовательные шаги по установке Perl Strawberry, MySQL и DBD :: mysql в Windows XP

Я ищу хорошее руководство с последовательными и подробными шагами по установке Perl Strawberry, MySQL и DBD :: mysql в Windows XP. m возникли проблемы с преобразованием карты Java / JSON в пригодный для использования объект F #. Вот суть моего кода: member this.getMapFromRpcAsynchronously = Rpc.getJavaJSONMap (новое действие <_> (this ....

У меня проблемы с преобразованием карты Java / JSON в пригодный для использования объект F #.

Вот суть моего кода:

member this.getMapFromRpcAsynchronously =
    Rpc.getJavaJSONMap (new Action<_>(this.fillObjectWithJSONMap))
    ()

member this.fillObjectWithJSONMap (returnedMap : JSONMap<string, int> option) = 
    let container = Option.get(returnedMap)
    let map = container.map
    for thing in map do
        this.myObject.add thing.key
        // do stuff with thing
    ()

JSON, возвращаемый моим методом RPC, выглядит так:

{"id":1, "result":
    {"map":
        {"Momentum":12, "Corporate":3, "Catalyst":1},
     "javaClass":"java.util.HashMap"}
}

Я пытаюсь сопоставить его с F # DataContract, который выглядит так:

[<DataContract>]
type JSONMap<'T, 'S> = {
    [<DataMember>]
    mutable map : KeyValuePair<'T, 'S> array
    [<DataMember>]
    mutable javaClass : string
}

[<DataContract>]
type JSONSingleResult<'T> = {
    [<DataMember>]
    mutable javaClass: string
    [<DataMember>]
    mutable result: 'T
}

Наконец, метод F #, который выполняет фактический вызов RPC (Rpc.getJavaJSONMap выше) выглядит следующим образом:

let getJavaJSONMap (callbackUI : Action<_>) = 
    ClientRpc.getSingleRPCResult<JSONSingleResult<JSONMap<string, int>>, JSONMap<string, int>>
        "MyJavaRpcClass"
        "myJavaRpcMethod"
        "" // takes no parameters
        callbackUI
        (fun (x : option<JSONSingleResult<JSONMap<string, int>>>) ->
            match x.IsSome with
                | true -> Some(Option.get(x).result)
                | false -> None 
        )

Во время компиляции я не получаю ошибок. Вызывается мой метод RPC, и возвращается результат (используя Fiddler для просмотра фактического вызова и возврата). , похоже, у F # возникли проблемы с сопоставлением JSON с моим DataContract, поскольку возвращенная карта в самом верху всегда имеет значение null.

Будем очень признательны за любые мысли или советы. Спасибо.

5
задан Mike Cialowicz 17 November 2010 в 16:09
поделиться