小编H.W*_*per的帖子

通过StringBuilder使用XmlWriter进行XML序列化是utf-16而via Stream是utf-8?

当我遇到它时,我感到很惊讶,并编写了一个控制台应用程序来检查它,并确保我没有做任何其他事情.

有谁能解释一下?

这是代码:

using System;    
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Xml;
using System.Xml.Serialization;

namespace ConsoleApplication1
{
    public class Program
    {
        static void Main(string[] args)
        {
            var o = new SomeObject { Field1 = "string value", Field2 = 8 };

            Console.WriteLine("ObjectToXmlViaStringBuilder");
            Console.Write(ObjectToXmlViaStringBuilder(o));
            Console.WriteLine();
            Console.WriteLine();
            Console.WriteLine("ObjectToXmlViaStream");
            Console.Write(StreamToString(ObjectToXmlViaStream(o)));
            Console.ReadKey();
        }

        public static string ObjectToXmlViaStringBuilder(SomeObject someObject)
        {
            var output = new StringBuilder();
            var settings = new XmlWriterSettings { Encoding = Encoding.UTF8, Indent = true };

            using (var xmlWriter = XmlWriter.Create(output, …
Run Code Online (Sandbox Code Playgroud)

c# xml wcf stream xml-serialization

22
推荐指数
1
解决办法
2万
查看次数

visual studio 2010调试器 - 尽管条件错误,仍会进入"if"语句

我正在使用VS 2010 Professional(在Windows 7 Professional 64上),使用WCF 4.0编写.我有以下代码:

        if (responseMessage.StatusCode == HttpStatusCode.NotFound)
        {                
            throw new ContentNotFoundException(contentId, SSPErrorCode.PartnerRestGetStream404);
        }
Run Code Online (Sandbox Code Playgroud)

当安装调试器的过程中,在"if"语句或在此之前,已经设置断点,而条件为假(responseMessage.StatusCode是"OK"),调试器的步骤到"if"语句.然后它跳过"throw"语句而不做任何事情,然后继续执行代码.

我试过了:

重新启动VS,注销我的Windows用户,重新启动,清洗液,再构建它,重建它,回收应用程序池,resarting IIS,加入的条件里面的"if"语句和内部更多的代码 - 没有到目前为止的工作.

在某个地方必须有一个缓存,我可以清理它以摆脱它,但是什么,在哪里?

谷歌搜索此我只找到HTTP: - social.msdn.microsoft.com/Forums/en-US/vsdebug/thread/d4b70fd7-b74a-42ce-a538-7185df3d3254/,所以我手动尝试设置断点,它没"在这个班级中打破了,虽然在其他班级也是如此.

我想在不重新安装VS的情况下解决这个问题.先感谢您!


更新:

  1. 由于我提出这个并且找不到答案,我继续我的项目.
  2. 我偶然发现了这个问题,John MacIntyre在这篇文章中报告了这个问题,结果是一个简化的例子:
using System; 

namespace IEnumerableBug2 
{ 
    class Program 
    {
        static void Main(string[] args) 
        {
            if (new object() == null)
                throw new Exception();
            try { }  catch { }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

更新#2:

请注意,我的方法中还有一个try-catch语句,在'if'语句后面几行.

我刚试过再次复制这个bug,但失败了.对于可能需要它的其他人,我将把问题留在stackoverflow上,但是,正如我所写,我不再能够重现这种行为.

debugging visual-studio-2010

8
推荐指数
1
解决办法
2950
查看次数

限制asp .net中的异步任务,限制N个成功任务

我正在使用Asp .Net 4.5.1.我有运行任务,调用Web服务,有些可能会失败.我需要运行N个成功的任务,这些任务执行一些轻微的CPU工作,主要是调用Web服务,然后停止,我想要限制.

例如,假设我们在某个集合中有300个URL.我们需要运行一个调用Task<bool> CheckUrlAsync(url)每个函数的函数,带有限制,这意味着,例如,"同时"只运行5次(换句话说,在任何给定时间最多使用5个连接).此外,我们只想执行N(假设100)成功操作,然后停止.

我读过这个这个,我仍然不知道什么是做了正确的道路.

你会怎么做?

  1. 假设ASP .Net
  2. 假设IO调用(http调用web serice),没有繁重的CPU操作.

c# asp.net asynchronous

4
推荐指数
1
解决办法
1290
查看次数

FireBase托管依赖吗?

我用AngularFire创建了一个非常简单的FireBase + Angular应用程序,或者更确切地说,我复制了示例中的代码.目前,它只允许通过Google登录和退出.代码很简单,我认为甚至不需要在这里发布它.

我尝试了不同的静态文件托管解决方案,并得到了一些奇怪的结果.

在Google云端硬盘,Dropbox和Github上.虽然这些页面都是在所有页面上提供的,但是在控制台中没有404错误和JS错误,登录本身也不起作用.会发生什么是该程序将启动登录屏幕并登录用户,但角度"auth.user"对象保持为null.

完全相同的代码,当在Visual Studio上运行时(仅通过"在浏览器中查看文件")并且也在FireBase自己的托管解决方案上运行,按预期运行,没有问题.登录和注销都有效.

我想知道这是怎么回事,因为这是一个"没有后端"的应用程序,或者更确切地说,它具有相同的后端,即FireBase服务.

这里发生了什么?

有关 在Dropbox和Github 上托管的Google Drive 主机的解释

(关于如何改进这个问题的评论将受到关注)

angularjs firebase angularfire firebasesimplelogin

1
推荐指数
1
解决办法
216
查看次数