VB.NET и BITS - фоновая интеллектуальная служба передачи - PullRequest
2 голосов
/ 08 апреля 2009

Кто-нибудь использовал биты в VB.NET? Если да, у вас есть примеры кода и советы?

Я смотрел на SharpBits, но у меня есть проект VB, для которого я хотел использовать BITS. Можно ли использовать его с моей программой VB.NET? (.NET 2.0) У меня была соблазн попытаться преобразовать каждый класс в VB.NET в папке SharpBits.Base, но я решил спросить, если кто-то направлялся по этому пути раньше.

Редактировать: Хорошо, ребята, если вы столкнетесь с этим вопросом. То, что вы можете сделать, это в папке Sharpbits.Base (которую вы загружаете из codeplex) есть библиотека, на которую вы можете ссылаться в каталоге Bin. Вы можете добавить это в свои ссылки, чтобы получить к нему доступ. Отмечать Конрада как ответ, так как он был достаточно любезен, чтобы оставлять сообщения.

Дальнейшее редактирование:
Мне удалось заставить острые биты работать с некоторым быстрым кодом, который я вставил ниже для любого, кто может наткнуться на этот вопрос. Как я уже говорил выше, добавьте DLL в ваш проект.


Dim b As New SharpBits.Base.BitsManager
Dim mynewjob As SharpBits.Base.BitsJob = _ 
b.CreateJob("jobname", SharpBits.Base.JobType.Download)
mynewjob.AddFile("\\server\share\bigfile.zip", "c:\bigfile.zip")
mynewjob.Resume()

Вам потребуется написать некоторую логику, чтобы проверить состояние задания. Как только он достигнет статуса «Передано», вы можете пометить его как завершенный. Это запишет файл из .bin в имя файла, которое вы перечислили. Что-то, что мне помогло, это установка Инструментов поддержки Windows (вы можете получить их с компакт-диска / DVD Windows 2003 в папке sup tools) и использование Bitsadmin.exe для просмотра состояния задания во время отладки. Надеюсь, это поможет следующему новобранцу. =)

Ответы [ 3 ]

4 голосов
/ 08 апреля 2009

По какой причине вы не можете просто использовать SharpBits в VB? Преимуществом .NET является точно в том, что библиотеки, написанные на разных языках .NET, могут беспрепятственно взаимодействовать, поэтому вы можете просто использовать SharpBits в VB, независимо от того, на каком языке .NET-совместим он написан.

1 голос
/ 08 апреля 2009

Вы можете посмотреть здесь:

Использование фоновой интеллектуальной службы передачи Windows XP (BITS) с Visual Studio .NET

Я начал писать собственную библиотеку для управления BITS для передачи большого видеофайла через частную локальную сеть. Пример для NET 1.1, но не должно быть трудно перенести его на NET 2.0.

0 голосов
/ 09 января 2019

Вот новая альтернатива. У команды BITS в Microsoft теперь есть страница на Вызов на BITS из .NET и C # с использованием эталонных DLL плюс полный пример вызова BITS Manager на GitHub.

Я только что попробовал использовать их с Visual Basic; мой код в итоге выглядел так:

    Imports BITS = BITSReference1_5
    Module Module1
        Sub Main()
            Dim mgr = New BITS.BackgroundCopyManager1_5
            Dim jobGuid As BITS.GUID
            Dim job As BITS.IBackgroundCopyJob
            mgr.CreateJob("My simple job", BITS.BG_JOB_TYPE.BG_JOB_TYPE_DOWNLOAD, jobGuid, job)
            job.AddFile("http://www.microsoft.com", "c:\temp\2019\BITS-VB\Downloadfile.html")
            job.Resume()
        End Sub
    End Module
(Обратите внимание, что я также добавил ссылку на DLL, которую я скачал из источника BITS Manager из каталога Reference DLL)
...