R Selenium / Docker WebServer для загрузки файла с интерактивного сайта

Изменить: это работает, но принятый ответ с использованием Json.NET гораздо более прост. Оставляя это на случай, если кому-то нужен только код BCL.

Он не поддерживается платформой .NET из коробки. Взгляд надзора - не всем нужно десериализовать объекты с именованными свойствами. Итак, я закончил свой собственный:

<Serializable()> Public Class StringStringDictionary
    Implements ISerializable
    Public dict As System.Collections.Generic.Dictionary(Of String, String)
    Public Sub New()
        dict = New System.Collections.Generic.Dictionary(Of String, String)
    End Sub
    Protected Sub New(info As SerializationInfo, _
          context As StreamingContext)
        dict = New System.Collections.Generic.Dictionary(Of String, String)
        For Each entry As SerializationEntry In info
            dict.Add(entry.Name, DirectCast(entry.Value, String))
        Next
    End Sub
    Public Sub GetObjectData(info As SerializationInfo, context As StreamingContext) Implements ISerializable.GetObjectData
        For Each key As String in dict.Keys
            info.AddValue(key, dict.Item(key))
        Next
    End Sub
End Class

Вызывается с помощью:

string MyJsonString = "{ \"key1\": \"value1\", \"key2\": \"value2\"}";
System.Runtime.Serialization.Json.DataContractJsonSerializer dcjs = new
  System.Runtime.Serialization.Json.DataContractJsonSerializer(
    typeof(StringStringDictionary));
System.IO.MemoryStream ms = new
  System.IO.MemoryStream(Encoding.UTF8.GetBytes(MyJsonString));
StringStringDictionary myfields = (StringStringDictionary)dcjs.ReadObject(ms);
Response.Write("Value of key2: " + myfields.dict["key2"]);

Извините за сочетание C # и VB.NET ...

0
задан Simone Paci 1 March 2019 в 20:55
поделиться

1 ответ

Я решил это. Это была проблема устаревшего удаленного сервера с докером. Теперь, когда я работаю с новой версией (3.141.59), она работает нормально:

docker run -d -p 4445:4444 selenium/standalone-firefox:3.141.59-iron
0
ответ дан Simone Paci 1 March 2019 в 20:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: