草庐IT

test_Stream

全部标签

c# - 具有 Stream 类型成员的对象的 JSON.NET 序列化?

希望这是一个我忽略的简单修复。我有一个对象传递到事件处理程序中,我想使用JSON.NET序列化该对象,如下所示:publicvoidOnEvent(IEventObjectfoo){//Serializefootostring/diskhere?vardata=JsonConvert.SerializeObject(foo,Formatting.Indented);}foo的一个或多个成员似乎是流。我已经认识到Streams不可序列化,因为它们是对数据而非数据本身的抽象。这是有道理的。我不知道如何序列化这个对象:a)将流转换成数据并序列化b)忽略流并序列化其余成员一个重要的警告是我无权

c# - 在 C# 中将 Stream 转换为 FileStream

使用C#将Stream转换为FileStream的最佳方法是什么。我正在处理的函数有一个包含上传数据的Stream传递给它,我需要能够执行stream.Read()、stream.Seek()方法,这些方法都是FileStream类型的方法。简单的类型转换不起作用,所以我在这里寻求帮助。 最佳答案 Read和Seek是Stream类型的方法,而不仅仅是FileStream。只是不是每个流都支持它们。(我个人更喜欢使用Positionproperty而不是调用Seek,但它们归结为同一件事。)如果您更喜欢将数据保存在内存中而不是将其转

C# Stream.Read 超时

我有这个流媒体阅读器:Booleanread=false;while(wline!="exit"){while(!read||streamReader.Peek()>=0){read=true;Console.Write((char)streamReader.Read());}wline=Console.ReadLine();streamWriter.Write(wline+"\r\n");streamWriter.Flush();}如何为Read()方法设置超时?谢谢 最佳答案 如果这是System.IO.StreamReader

c# - System.Net.ProtocolViolationException : You must write ContentLength bytes to the request stream before calling [Begin]GetResponse

我得到了"System.Net.ProtocolViolationException:YoumustwriteContentLengthbytestotherequeststreambeforecalling[Begin]GetResponse"errorwhencallingtothe"BeginGetResponse"methodofthewebrequest.这是我的代码:try{StreamdataStream=null;WebRequestWebrequest;Webrequest=WebRequest.Create(this.EndPointAddress);Webrequ

c# - 如何使用 Stream 获取图像大小(宽 x 高)

我有这段代码用来读取上传的文件,但我需要获取图像的大小,但不确定我可以使用什么代码HttpFileCollectioncollection=_context.Request.Files;for(inti=0;i先生,我可以得到正确的文件,但是如何检查它的图像(宽度和大小)? 最佳答案 首先你必须写图像:System.Drawing.Imageimage=System.Drawing.Image.FromStream(newSystem.IO.MemoryStream(byteArrayHere));然后你有:image.Height

c# - 调用 Stream.Write 和使用 StreamWriter 有什么区别?

实例化一个Stream对象,比如MemoryStream和调用memoryStream.Write()方法来写入有什么区别流,并使用流实例化一个StreamWriter对象并调用streamWriter.Write()?考虑以下场景:你有一个方法接受一个Stream,写入一个值,然后返回它。稍后会读取流,因此必须重置位置。有两种可能的方法(似乎都有效)。//InstantiateaMemoryStreamsomewhere//-PassedtothefollowingtwomethodsMemoryStreammemoryStream=newMemoryStream();//Notus

c# - Visual Studio Express 2013 : Program output in unit tests (console, 调试等)

我真的要用头撞墙了。在VisualStudio(Express2013)中获取程序输出有那么难吗?在编写代码时,我发现在工作和故障排除时能够打印出变量、操作等的值是绝对必要的。在Java和Eclipse中,System.out.println()始终有效,打印到IDE控制台。在编写C程序时,我总是使用控制台,因此回显任何内容都没有问题。但是,在VSExpress2013中,我似乎无法获得任何输出。问题是否与我正在编写单元测试而不是“正常”可执行程序有关?如果是这样,有没有办法让VS在单元测试类中显示程序输出?我试过使用调试,但也没有显示任何内容。认为存在配置问题,我一直在寻找调试未显示

C#,NUnit : Is it possible to test that a DateTime is very close, 但不一定等于另一个?

假设我有这个测试:[Test]publicvoidSomeTest(){varmessage=newThing("foobar");Assert.That(thing.Created,Is.EqualTo(DateTime.Now));}例如,这可能会使Thing的构造函数失败,这会花费一些时间。是否有某种NUnit构造允许我指定Created时间不必完全等于DateTime.Now,只要它在一秒之内?是的,我知道构造函数不应该花费太多时间,但只是作为一个例子:p 最佳答案 没试过,但根据thedocs看起来这应该可行:Assert

c# - 如何将 System.IO.Stream 转换为图像?

如何将图像的Stream(我使用MediaLibrary中的Album.GetArt方法检索)转换为可用的图像Image在我的应用程序中? 最佳答案 简单...varimg=Bitmap.FromStream(stream); 关于c#-如何将System.IO.Stream转换为图像?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/18134234/

c# - 单元测试 Asp.Net WebApi : how to test correct routing of a method with [FromUri] parameters

我想测试这个Controller:[HttpGet]publicIListGetNotificationsByCustomerAndId([FromUri]string[]name,[FromUri]int[]lastNotificationID){return_storage.GetNotifications(name,lastNotificationID,_topX);}特别是,在此方法中,我想测试传入输入以形成请求Url的数组是否与进入routeData.Values的数组相同。如果对于单值参数(不是数组)它有效,但不适用于数组。如果我调试Values,我只会看到controll