1

在 youtube 上上传超过 4 mb 大小的视频时会出现以下错误。

The request was aborted: The request was canceled.| at
System.Net.ConnectStream.CloseInternal(Boolean internalCall, Boolean
aborting) at
System.Net.ConnectStream.System.Net.ICloseEx.CloseEx(CloseExState
closeState) at System.Net.ConnectStream.Dispose(Boolean disposing) at
System.IO.Stream.Close() at
Google.GData.Client.GDataGAuthRequest.CopyRequestData() at
Google.GData.Client.GDataGAuthRequest.Execute(Int32 retryCounter) at
Google.GData.Client.GDataGAuthRequest.Execute() at
Google.GData.Client.MediaService.EntrySend(Uri feedUri, AtomBase
baseEntry, GDataRequestType type, AsyncSendData data) at
Google.GData.Client.Service.Insert(Uri feedUri, AtomEntry newEntry,
AsyncSendData data) at Google.GData.Client.Service.Insert[TEntry](Uri
feedUri, TEntry entry) at
Google.GData.YouTube.YouTubeService.Upload(String userName,
YouTubeEntry entry) at Google.YouTube.YouTubeRequest.Upload(String
userName, Video v) at Google.YouTube.YouTubeRequest.Upload(Video v) at
upload.Button1_Click(Object sender, EventArgs e)

已经尝试了一些解决方案,例如

request.Settings.Timeout = 60 * 60 * 1000;

<httpRuntime executionTimeout="6000" maxRequestLength="100000" />

但同样的问题发生。请帮助我 代码如下:-

YouTubeRequest request = new YouTubeRequest(settings);
        //request.Settings.Maximum = 9999999;
        request.Settings.Timeout = 60 * 60 * 1000;          
        Video newVideo = new Video();

        newVideo.Title = TextBox1.Text;
        newVideo.Tags.Add(new MediaCategory("People", YouTubeNameTable.CategorySchema));
        newVideo.Keywords = "cars, funny";
        newVideo.Description = TextBox2.Text;
        newVideo.YouTubeEntry.Private = false;
        newVideo.YouTubeEntry.AccessControls.Add(new YtAccessControl("list", "denied"));
        newVideo.Tags.Add(new MediaCategory("mydevtag, anotherdevtag", YouTubeNameTable.DeveloperTagSchema));



        newVideo.YouTubeEntry.MediaSource = new MediaFileSource(f.ToString(), "video/x-flv");


        Video createdVideo = request.Upload(newVideo);
4

1 回答 1

3

只需在您的代码中添加这 3 行并尝试,

 YouTubeService service = new YouTubeService("Test", DEVELOPERKEY);
        ((GDataRequestFactory)request.Service.RequestFactory).Timeout = 9999999; 
        ((GDataRequestFactory)service.RequestFactory).KeepAlive = false;

如果您的问题已解决,请将其标记为答案。

于 2013-04-03T06:27:44.300 回答