Serializable...

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

natcap
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 234
Зарегистрирован: 25.06.2003 (Ср) 13:15
Откуда: Москва

Serializable...

Сообщение natcap » 19.06.2009 (Пт) 13:46

Создала свой класс... как сделать его хранение и считывание потом...
Вроде у класса поставила Serializable=true а дальше то что????
Медленно переезжаю с 6.0 на 2008 .... задавая тонны глупых вопросов :)

Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Re: Serializable...

Сообщение Williams » 19.06.2009 (Пт) 13:47

Поюзать XmlSerializer
И вы думаете, что вас оставят в живых после прочтения этого поста?

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: Serializable...

Сообщение MIT » 19.06.2009 (Пт) 14:58

От данных зависит. XML- или BinarySerializer.
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

Joo
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 762
Зарегистрирован: 14.08.2008 (Чт) 11:55
Откуда: Казахстан

Re: Serializable...

Сообщение Joo » 20.06.2009 (Сб) 10:23

MIT писал(а):От данных зависит. XML- или BinarySerializer.

Если руками не предпологается корректировать или осуществлять совместимость с чем либо, то однозначно Binary, более компактен и может с легкостью серялизовать двоичные данные типо картинок, без лишних телодвижений.
"Им будет не просто, тем кто полагается на истину авторитета, вместо того чтобы полагаться на авторитет Истины"
Джеральд Месси, Египтолог

natcap
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 234
Зарегистрирован: 25.06.2003 (Ср) 13:15
Откуда: Москва

Re: Serializable...

Сообщение natcap » 22.06.2009 (Пн) 17:14

У меня есть список создаваемый пользователей из 6 полей...
эти 6 полей я объединила в объект...

Код: Выделить всё
        Public Logins As New List(Of Login)

        ''' <summary>
        ''' элемент логина
        ''' </summary>
        ''' <remarks></remarks>

        Public Class Login
            Private _Name As String
            Private _Server As String
            Private _Login As String
            Private _Password As String
            Private _Type As mType
..........


НО поля содержат логины - пароли, так что наверное в открытом виде хранить не очень удачный вариант

Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Re: Serializable...

Сообщение Williams » 22.06.2009 (Пн) 17:28

Не проблема. Сериализуй в XML, его шифруй.
И вы думаете, что вас оставят в живых после прочтения этого поста?

Joo
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 762
Зарегистрирован: 14.08.2008 (Чт) 11:55
Откуда: Казахстан

Re: Serializable...

Сообщение Joo » 22.06.2009 (Пн) 17:50

natcap писал(а):У меня есть список создаваемый пользователей из 6 полей...
эти 6 полей я объединила в объект...

Код: Выделить всё
        Public Logins As New List(Of Login)

        ''' <summary>
        ''' элемент логина
        ''' </summary>
        ''' <remarks></remarks>

        Public Class Login
            Private _Name As String
            Private _Server As String
            Private _Login As String
            Private _Password As String
            Private _Type As mType
..........


НО поля содержат логины - пароли, так что наверное в открытом виде хранить не очень удачный вариант


Мог где-то ошибиться, в браузере буз студии кодить сложно )
Код: Выделить всё
Imports System.Runtime.Serialization.Formatters

Public Class TestForm
    Public Logins As New List(Of Login)

    <Serializable()> _
    Public Class Login
        Public _Name As String
        Public _Server As String
        Public _Login As String
        Public _Password As String
        Public _Type As mType

        <Serializable()> _
        Public Class mType
            Public SomeField
        End Class 'mType
    End Class 'Login

    Private Sub Logins_Save() Handles Me.FormClosed
        Dim fs As IO.FileStream = New IO.FileStream(IO.Path.GetDirectoryName(Application.ExecutablePath) & "\logins.dat", IO.FileMode.OpenOrCreate)
        Dim bf As Binary.BinaryFormatter = New Binary.BinaryFormatter()
        bf.Serialize(fs, Logins)
        fs.Close()
    End Sub

    Private Sub Logins_Load() Handles Me.Load
        Dim fs As IO.FileStream = New IO.FileStream(IO.Path.GetDirectoryName(Application.ExecutablePath) & "\logins.dat", IO.FileMode.OpenOrCreate)
        Dim bf As Binary.BinaryFormatter = New Binary.BinaryFormatter()
        Try
            Logins = bf.Deserialize(fs)
        Catch ex As Exception
            MsgBox("Deserialize error! Create demo Logins...")
            'Create demo Logins
            Dim l As New Login
            l._Login = "Login 1"
            Logins.Add(l)
            l = New Login
            l._Login = "Login 2"
            Logins.Add(l)
        Finally
            fs.Close()
        End Try

        For Each l As Login In Logins
            MsgBox(l._Login)
        Next
    End Sub
End Class


По поводу пароля, храни только Хеш от него и потом хеш введенного пароля сравнивай с сохраненным хешем. А можно вообще пароль не хранить и хеш его не хранить )) а просто шифровать личные данные при помощи этого пароля, и если юзер ввел неверный пароль то расшифруется естественно неверно.
"Им будет не просто, тем кто полагается на истину авторитета, вместо того чтобы полагаться на авторитет Истины"
Джеральд Месси, Египтолог

natcap
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 234
Зарегистрирован: 25.06.2003 (Ср) 13:15
Откуда: Москва

Re: Serializable...

Сообщение natcap » 23.06.2009 (Вт) 12:20

Спасибо огромное, то что надо было - пример как этим кошмаром пользоваться :)
А насчет хранения - хранить надо, для того это и заводится, чтобы тетки - училки не вбивали пароли с давно потерянных в стопках макулатуры листочков с заходами...

Joo
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 762
Зарегистрирован: 14.08.2008 (Чт) 11:55
Откуда: Казахстан

Re: Serializable...

Сообщение Joo » 23.06.2009 (Вт) 12:29

natcap писал(а):Спасибо огромное, то что надо было - пример как этим кошмаром пользоваться :)
А насчет хранения - хранить надо, для того это и заводится, чтобы тетки - училки не вбивали пароли с давно потерянных в стопках макулатуры листочков с заходами...


Не за что :wink:
"Им будет не просто, тем кто полагается на истину авторитета, вместо того чтобы полагаться на авторитет Истины"
Джеральд Месси, Египтолог


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 48

    TopList