小编Dar*_*xis的帖子

HttpWebRequest接受500内部服务器错误

这是我的代码:

HttpWebRequest req = WebRequest.Create(url) as HttpWebRequest;

WebResponse wr = req.GetResponse();
Run Code Online (Sandbox Code Playgroud)

当服务器返回500内部服务器错误时,req.GetResponse()中会抛出异常.我希望GetResponse()接受此响应代码,传递的url抛出此响应代码是正常的.尽管响应代码500内部服务器错误,我想解析Html.是否可以说GetResponse()方法不验证响应代码?

.net c# httpwebrequest

15
推荐指数
1
解决办法
3万
查看次数

在try-catch块之外访问变量

我有以下代码:

class ClassA
{
public:
    ClassA(std::string str);
    std::string GetSomething();
};

int main()
{
    std::string s = "";
    try
    {
        ClassA a = ClassA(s);
    }
    catch(...)
    {
        //Do something
        exit(1);
    }

    std::string result = a.GetSomething();

    //Some large amount of code using 'a' out there.
}
Run Code Online (Sandbox Code Playgroud)

我想最后一行可以访问a变量.我怎么能实现这一点,因为ClassA没有默认构造函数ClassA(),我不想使用指针?是添加默认构造函数的唯一方法ClassA吗?

c++ c++11

7
推荐指数
2
解决办法
1871
查看次数

JToken.ToObject<T>() 与 JToken.Value<T>() 的区别

JToken.ToObject<T>()方法和JToken.Value<T>()扩展方法(不带key参数的那个)有什么区别?

var jToken = JToken.Parse("123");
var toObjectStrResult = jToken.ToObject<string>();
var valueStrResult = jToken.Value<string>();
// toObjectStrResult  == valueStrResult == "123"

var toObjectLongResult = jToken.ToObject<long>();
var valueLongResult = jToken.Value<long>();
// toObjectLongResult  == valueLongResult  == 123L

Run Code Online (Sandbox Code Playgroud)

c# json json.net

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

在调试模式下优化 C# 代码,优化代码未选中

Debug尽管Optimize code禁用了某些 C# 代码,但我还是在模式下进行了优化。

代码

namespace Test
{
    internal class Program
    {
        public class Test
        {
            public void TestMethod(decimal x, out decimal result)
            {
                result = x / 100m;
                //Console.WriteLine($"{x} {result}");
                result++;
                //Console.WriteLine($"{x} {result}");
            }
        }

        private static void Main()
        {
            var x = new Test();
            x.TestMethod(12300m, out _);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

构建配置

调试时,我可以看到以下内容:

调试步骤 1 调试步骤 2 调试步骤 3

正如您在第二步中看到的,xresult变量都被修改了,但唯一预计要修改的是result.

现在对这个问题进行一些分析。我的猜测是它可能是由两件事引起的:

  1. Visual Studio 调试器中的错误
  2. 优化代码的编译器

如果它是 Visual Studio 调试器中的错误,那么为什么取消注释Console.WriteLine代码可以解决此问题

如果优化代码的是编译器,那么为什么它在 dotPeek 反编译源中不可见?CLR 或其他东西是否有可能在运行时优化代码?dotPeek反编译的汇编源代码如下: …

c# debugging compiler-optimization visual-studio

6
推荐指数
0
解决办法
468
查看次数

SignalR Client返回HTTP错误400错误请求

我正在使用SignalR Client连接HubConnection.在调用时Start(),System.Net.WebException会抛出以下消息:

远程服务器返回错误:(400)错误请求.

服务器响应是:

不是有效的Web套接字请求.

我正在运行带有IIS 8.5的Windows Server 2012 R2

可能是什么问题呢?

asp.net iis signalr signalr-hub signalr.client

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