c#HttpWebRequest POST’ing失败

所以我想尝试将内容发布到网络服务器上。 System.Net.HttpWebRequest EventReq = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(“url”); System.String Content = “id=” + Id; EventReq.ContentLength = System.Text.Encoding.UTF8.GetByteCount(Content); EventReq.Method = “POST”; EventReq.ContentType = “application/x-www-form-urlencoded”; System.IO.StreamWriter sw = new System.IO.StreamWriter(EventReq.GetRequestStream(), System.Text.Encoding.UTF8); sw.Write(Content); sw.Flush(); sw.Close(); 看起来没问题,我根据ENCODED数据的大小设置内容长度…无论如何,它在sw.flush()失败,“要写入流的字节数超过指定的内容长度大小” StreamWriter在我背后做了一些魔法,我不知道吗? 有没有办法让我了解StreamWriter正在做什么?

C#MongoDB.Driver GetServer已经过时了,现在怎么办?

来自mongoDB.Driver文档( http://docs.mongodb.org/ecosystem/tutorial/getting-started-with-csharp-driver/ ) 获取对服务器对象的引用 要从客户端对象获取对服务器对象的引用,请写下: var server = client.GetServer(); 在最新版本中, GetServer方法已经消失,但文档尚未更新,我们现在使用了什么? 谢谢你的时间。

即使DebugType = full,也无法在发布模式下调试应用程序

我们正在为Release构建解决方案,但是当尝试使用studio 2010 professional进行附加时,没有线程显示任何堆栈信息,也不能设置任何断点等。 目标是能够将Visual Studio / JIT调试器附加到正在运行的进程,同时具有尽可能多的优化优势。 我们的大多数搜索都归结为“使用debug编译:完全”并且您将能够进行调试,但似乎并非如此,我认为JIT在运行时优化代码,因此我们无法调试,是这是真的? 是否有可能编译并告诉JIT淡化优化并允许调试? (同时保留其他优化) UPDATE 使用@HansPassant的答案,我查看了模块并看到虽然pdbs与二进制文件位于同一目录中,但实际上没有加载调试符号。 我也看到我的库标记为’用户代码’ – ‘否’,这可能是它没有自动加载的原因。 通过手动加载符号并禁用“just-my-code”,我还能够设置断点并查看堆栈。 现在问题:为什么我的代码没有标记为用户代码? 这是正常的行为吗? 我可以通过某种方式将其配置到我的程序集以避免这种情况吗?

检查控件类型

我可以在页面打印时显示页面的所有控件的ID以及它们的类型 myPhoneExtTxt Type:System.Web.UI.HtmlControls.HtmlInputText 这是基于此代码生成的 foreach (Control c in page) { if (c.ID != null) { controlList.Add(c.ID +” Type:”+ c.GetType()); } } 但是现在我需要检查它的类型并访问其中的文本,如果它的类型为HtmlInput,我不太清楚如何做到这一点。 喜欢 if(c.GetType() == (some htmlInput)) { some htmlInput.Text = “This should be the new text”; } 我怎么能这样做,我想你明白了吗?

获取连接到串行端口的设备名称

我搜索如何获取连接到串行端口的材料的设备名称。 我有两种不同类型的材料可以连接在上面。 第一个:打印机(只接收数据并且不发送任何内容)第二个:余额(仅发送数据并且不接收任何内容) 我如何区分这两种材料? 谢谢。

在.NET中使用属性的性能开销

1 ..属性的使用是否有任何性能开销? 想想一个类: public class MyClass { int Count {get;set;} } 它有10个属性(属性是类,其中属性类本身比MyClass本身大,如: public class FirstAttribute : Attribute { int A,B,C,D,E,F,G,H,I,J … {get;set;} } 2 ..每次MyClass实例化时,其中10个属性是否是内存开销? ( FirstAttribute是MyClass大小的10倍,将使用其中的10个进行修饰,因此实际对象本身与其上装饰的属性的总大小相比非常小。)这是一个问题吗? 3 ..这种情况对于结构是否有任何不同(结构是值类型和属性是引用类型)? 4 ..存储在内存中的属性与它们所附着的对象有何关系? 他们是如何联系在一起的? 5 ..一旦初始化MyClass或使用reflection检索属性,属性是否已初始化?

使用LINQ根据它们将包含的已知子字符串对字符串列表进行分组

我有一个已知的字符串列表,如下所示: List groupNames = new List(){“Group1″,”Group2″,”Group3”}; 我还有一个事先不知道的字符串列表,如下所示: List dataList = new List() { “Group1.SomeOtherText”, “Group1.SomeOtherText2”, “Group3.MoreText”, “Group2.EvenMoreText” }; 我想做一个LINQ语句,它将获取dataList并将其转换为匿名对象或具有组名的Key的字典和包含该组中字符串列表的Value。 目的是循环遍历组并在组列表上进行内部循环,并根据字符串所在的字符串对字符串执行不同的操作。 我想要一个看起来像这样的数据结构: var grouped = new { new { Key=”Group1″, DataList=new List() { “Group1.SomeOtherText”, “Group1.SomeOtherText2″ } }, new { Key=”Group2”, DataList=new List() { “Group2.EvenMoreText” } } … }; 我知道我可以循环遍历dataList,然后检查每个字符串是否包含组名,然后将它们添加到单个列表中,但我正在尝试学习LINQ执行此类任务的方式。 提前致谢。 编辑: 刚才有了另一个想法……如果我的团体名字在Enum中怎么办? public enum Groups { […]

如何在C#中的任何其他时区将UTC时间转换为时间

我在C#.net工作 – .Net fx是2.0,它不支持在不同时区之间进行转换。 我已经编写了一个基于UTC的调度程序,但它在伦敦的DTS期间给出了1小时的错误。 我需要一些解决方案,以便我可以在相对于UTC的任何时区中使用正确的DST调整来获取正确的时间。

BindingExpression路径错误:’object’上找不到属性

我一直在搜索出现在输出窗口中的这个错误。 我对WPF中的绑定很新,所以我确信有些东西我不见了。 错误的全文(每个绑定路径都有一个,都与此类似): System.Windows.Data错误:39:BindingExpression路径错误:’object”’String’(HashCode = -842352750)’上找不到’TestItem’属性。 BindingExpression:路径= TestItem; DataItem =’String’(HashCode = -842352750); target元素是’TextBlock’(Name =”); target属性是’Text’(类型’String’) 编辑:一切似乎都应该工作,但我在输出窗口中得到这些错误。 XAML: </ListView 代码背后: public class MyData : INotifyPropertyChanged { private string _testitem = “”; private string _information = “”; private string _passfail = “”; public string TestItem { get { return _testitem; } set { _testitem = value; OnPropertyChanged(“TestItem”); […]

C# – 用空格解析文件名的最简单方法,例如。 “C:\ Test \ File with spaces.txt”

我试图将完整的文件路径传递给FFMPEG。 C:\TestFolder\Input\Friends – Season 6 – Gag Reel.avi 并且它显然不喜欢路径中有空格的事实,错误如下: C:\TestFolder\Input\Friends: no such file or directory 那么使用带空格的文件名最简单的方法是什么? 我应该用〜字符替换所有空格还是有更好的方法? 我试过用各种字符转义字符串: @”C:\TestFolder\Input\Friends – Season 6 – Gag Reel.avi”; 但这不起作用。 有保留空间的技巧吗?