草庐IT

c# - 无法连接到 FTP : (553) File name not allowed

我需要通过FTP将文件传输到目录。在.Net中,我必须使用目标文件夹中的文件来创建连接,因此我使用FTP手动将Blank.dat放在服务器上。我检查了访问权限(ls-l),它是-rw-r--r--。但是当我尝试连接到FTP文件夹时,我得到:“远程服务器返回错误:(553)文件名不允许”从服务器返回。我所做的研究表明,这可能是由权限问题引起的,但正如我所说,我有权查看该文件并且可以从该文件夹运行ls。还有哪些其他原因可能会导致此问题?是否有一种无需指定文件即可连接到文件夹的方法?byte[]buffer;StreamreqStream;FileStreamstream;FtpWebRes

c# - 网络传输暂停

我用C#创建了一个服务器和一个传输文件的客户端。但是在传输时它会暂停几秒钟然后继续。我已经在YouTube上上传了一段视频来演示:http://www.youtube.com/watch?v=GGRKRW6ihLo如您所见,它有时会暂停然后继续。接收者:using(varwriter=newStreamWriter(Path.Combine(_localPath,file.FileName))){varbuffer=newbyte[_bufferSize];while(file.Transferred发件人:using(varreader=newStreamReader(file.Fi

c# - 如何在C#中有效地在桌面上绘图?

我想用C#直接在桌面上画图。经过一番搜索,我最终使用了来自DesktopHDC(null)的Graphics对象。然后,我使用这个Graphics对象正常绘画。问题是当屏幕的任何部分被重绘时我的形状会丢失。我尝试了一个While循环,但它实际上以应用程序所能达到的速度结束绘制,这不是桌面的更新速率。通常,我需要将我的绘图代码放在“OnPaint”事件中,但桌面上不存在这样的事情。我该怎么做?示例代码:https://stackoverflow.com/questions/1536141/how-to-draw-directly-on-the-windows-desktop-c

c# - Protocol Buffer 从原始消息中检测类型

是否可以检测原始ProtocolBuffer消息的类型(在byte[]中)我遇到这样一种情况,端点可以接收不同的消息,我需要能够在反序列化之前检测到类型。我正在使用protobuf-net 最佳答案 您无法单独检测类型,因为protobuf规范不会为此向流添加任何数据;但是,根据上下文,有多种方法可以简化此过程:联合类型(如Jon所述)涵盖了一系列场景继承(特定于protobuf-net)可以是通用的——您可以有一个基本消息类型,以及任意数量的具体消息类型可以使用前缀来表示传入类型最后一种方法在原始TCP流的情况下实际上非常有值(v

c# - .NET 中字符串的简单混淆?

我需要通过Internet发送一个大约30个字符的字符串,它可能最终会成为另一家公司数据库中的ID。虽然字符串本身不会被识别,但我仍然希望它不会以任何方式被识别。在.NET中混淆此类字符串以便在必要时可以轻松反转它的最简单方法是什么? 最佳答案 来点经典的(带有现代风格的)怎么样。publicstaticstringCaesar(thisstringsource,Int16shift){varmaxChar=Convert.ToInt32(char.MaxValue);varminChar=Convert.ToInt32(char.

c# - 专用于字节流的FIFO/Queue buffer

是否有任何.NET数据结构/类组合允许将字节数据附加到缓冲区的末尾,但所有查看和读取都是从头开始的,从而在我读取时缩短了缓冲区?MemoryStream类似乎完成了其中的一部分,但我需要为读取和写入维护不同的位置,并且它不会在读取数据后自动丢弃数据。已在对thisquestion的回复中发布了答案这基本上是我正在尝试做的,但我更喜欢我可以在同一进程的不同组件中进行异步I/O的操作,就像普通管道甚至网络流一样(我需要过滤/处理数据优先)。 最佳答案 我将发布一次我为工作项目编写的一些逻辑的精简副本。这个版本的优点是它与缓冲数据的链接列

c# - 计算 WriteableBitmap.WritePixels 方法所需的缓冲区大小

如何计算WriteableBitmap.WritePixels方法所需的缓冲区大小?我正在使用带四个参数的重载,第一个是Int32Rect,第二个是包含颜色的RGBA数字的字节数组,第三个是步幅(这是我的可写位图的宽度乘以位每个像素除以8),最后是缓冲区(在Intellisense中称为偏移量)。我在以下代码中收到缓冲区大小不足运行时错误:byte[]colourData={0,0,0,0};varxCoordinate=1;varyCoordinate=1;varwidth=2;varheight=2;varrect=newInt32Rect(xCoordinate,yCoordin

c# - 将内容复制到流时出现 System.Net.Http.HttpRequestException 错误

我在.NETFramework4.5.2中使用HttpClient类。我针对第三方网络服务调用PostAsync。80%的时间这篇文章有效,20%的时间我们的回复被缩短。在这种情况下,我们得到以下异常:System.Net.Http.HttpRequestException:Errorwhilecopyingcontenttoastream.--->System.IO.IOException:Unabletoreaddatafromthetransportconnection:Anexistingconnectionwasforciblyclosedbytheremotehost.--

c# - 如何在不将整个文件加载到内存的情况下读取/流式传输文件?

如何在不将整个文件加载到内存的情况下读取任意文件并“逐个”处理它(意思是逐字节或其他可以提供最佳读取性能的block大小)?处理的一个例子是生成文件的MD5散列,尽管答案可以适用于任何操作。我想拥有或编写这个,但如果我可以获得现有代码,那也很棒。(c#) 最佳答案 下面是一个示例,说明如何在不将整个内容加载到内存的情况下以1KB的block读取文件:constintchunkSize=1024;//readthefilebychunksof1KBusing(varfile=File.OpenRead("foo.dat")){intb

c# - 文件上传到文件流

我正在将文件与HttpWebRequest一起发送。我的文件将来自FileUploadUI。在这里,我需要将文件上传转换为文件流,以便将流与HttpWebRequest一起发送。如何将FileUpload转换为文件流? 最佳答案 由于FileUpload.PostedFile.InputStream给我的是Stream,所以我用下面的代码把它转换成字节数组publicstaticbyte[]ReadFully(Streaminput){byte[]buffer=newbyte[input.Length];//byte[]buffer