Thursday, November 23, 2006

Events in VB.NET

(For full text with comments please click on the title)

We’ve been getting a few questions on how to use RSS Platform events in VB.NET. The problem faced by most inquiries was the fact that the interface returned by the GetWatcher() method call couldn’t be cast to the FeedFolderWatcher or FeedWatcher type. Instead the returned interface can be cast to IFeedFolderEvents_Event or IFeedEvents_Event interface. As done here:



Imports Microsoft.Feeds.Interop


Module Module1



Dim WithEvents watcher As IFeedFolderEvents_Event


Sub Main()



Dim fm As IFeedsManager = New FeedsManager()


Dim rootFolder As IFeedFolder = fm.RootFolder


watcher = rootFolder.GetWatcher(FEEDS_EVENTS_SCOPE.FES_ALL, FEEDS_EVENTS_MASK.FEM_FOLDEREVENTS)


AddHandler watcher.FeedDownloading, AddressOf watcher_Downloading


End Sub


Sub watcher_Downloading(ByVal path As String)



Console.WriteLine("Downloading {0}", path)


End Sub


Sub watcher_DownloadCompleted(ByVal path As String, ByVal err As FEEDS_DOWNLOAD_ERROR) Handles watcher.FeedDownloadCompleted



Console.WriteLine("Downloaded {0}", path)


End Sub


End Module


 


The key is the highlighted part.


Note: We are aware that the IFeedFolderEvents_Event and IFeedEvents_Event interfaces do not appear in the Object Browser or in IntelliSense. We are looking into it.


Keep the feedback coming!


-Walter vonKoch



Click here to more

0 comments: