我尝试使用vb .net中的LinqToTwitter软件包捕获推文,使用流媒体选项实时捕获它们。
我遇到了两个错误,我试图通过多种方式纠正错误,进行多次导入,但是我没有成功。
错误是:
行,12,14,21和23 - 汇编所需的参考&System;运行时间,版本= 4.0.0.0,文化=中性,PublicKeyToken = b03f5f7f11d50a3a'包含类型' [对象]'。在项目中添加一个。
第23行 - 表达类型' TwitterQueryable(流媒体)'不可查询。确保您没有错过LINQ提供程序的程序集引用和/或名称空间导入。
谢谢!
Imports System
Imports System.Data
Imports System.IO
Imports System.Linq
Imports System.Xml.Linq
Imports System.Data.Linq
Imports LinqToTwitter
Public Class compTwitter
Public Async Sub Stream_Twitter()
Dim arquivo As StreamWriter
arquivo = My.Computer.FileSystem.OpenTextFileWriter("C:\TesteTwitterDanilo\test25.txt", True)
Dim twAuth = New SingleUserAuthorizer() With {.CredentialStore = New SingleUserInMemoryCredentialStore()}
With twAuth.CredentialStore
.ConsumerKey = glbTwitterConsumerKey
.ConsumerSecret = glbTwitterConsumerSecret
.OAuthToken = glbTwitterAccessToken
.OAuthTokenSecret = glbTwitterAccessTokenSecret
End With
Dim twitterCtx As TwitterContext = New TwitterContext(twAuth)
Dim Response As List(Of Streaming) = Await (From stm In twitterCtx.Streaming()
Where stm.Language = "pt" AndAlso stm.Type = StreamingType.Filter AndAlso stm.Track = "Twitter"
Select stm).StartAsync(Function(stm) Escreve_no_Arquivo(arquivo, stm))
arquivo.Close()
End Sub
End Class
答案 0 :(得分:0)
根据您的评论,原因是您尝试在Web应用程序中运行它。 Web应用程序是无状态的。这意味着当用户发出请求时,Web应用程序实例化页面,处理请求,然后允许页面(和其他对象)实例被垃圾收集。根据您的情况,用户请求页面,它实例化LINQ to Twitter对象(包括流),并返回。那些LINQ to Twitter实例有资格进行垃圾收集,并发生奇怪的事情。
流代码需要在维护状态的应用程序中运行,就像控制台应用程序一样。如果您需要它连续运行,您可以考虑始终保持运行的Windows服务或云服务。