当我尝试POST到URL时,会导致以下异常:
远程服务器返回错误:(417)期望失败.
这是一个示例代码:
var client = new WebClient();
var postData = new NameValueCollection();
postData.Add("postParamName", "postParamValue");
byte[] responseBytes = client.UploadValues("http://...", postData);
string response = Encoding.UTF8.GetString(responseBytes); // (417) Expectation Failed.
Run Code Online (Sandbox Code Playgroud)
使用一HttpWebRequest/HttpWebResponse对或一HttpClient对没有区别.
造成这种异常的原因是什么?
我知道有一个属性来处理私有的setter但我有点想把这个行为作为默认值,有没有办法实现这个?除了调整来源.如果有这样的设置会很棒.
while (rdr.Read())
{
Console.WriteLine("Product: {0,-35} Total: {1,2}", rdr["ProductName"], rdr["Total"]);
}
Run Code Online (Sandbox Code Playgroud)
{0,-35}在此代码中的含义是什么?
有时我发现能够在包含 HTML(ASPX 等)的文件中抑制某些标记验证警告很有用。
是否有相当于#pragma warning disable\restoreHTML 的?
有一个TcpListener类的服务器.它使用BeginAcceptTcpClient(AsyncCallback,Object)方法接受传入连接.
代码写在示例MSDN中
public static ManualResetEvent tcpClientConnected =
new ManualResetEvent(false);
public static void DoBeginAcceptTcpClient(TcpListener
listener)
{
while(true)
{
tcpClientConnected.Reset();
Console.WriteLine("Waiting for a connection...");
listener.BeginAcceptTcpClient(
new AsyncCallback(DoAcceptTcpClientCallback),
listener);
tcpClientConnected.WaitOne();
}
}
public static void DoAcceptTcpClientCallback(IAsyncResult ar)
{
TcpListener listener = (TcpListener) ar.AsyncState;
TcpClient client = listener.EndAcceptTcpClient(ar);
Console.WriteLine("Client connected completed");
tcpClientConnected.Set();
while(true)
{
//Receiving messages from the client
}
}
Run Code Online (Sandbox Code Playgroud)
问题是DoAcceptTcpClientCallback(IAsyncResult ar)方法有时会在当前线程(main)中开始执行,而不是在新线程中执行,并阻塞它(main).因此,无法接收以下连接.请帮助理解为什么不为此方法创建线程
这是一个古怪的.
我有以下代码......
foreach (IScanTicket ticket in this) {
if (ticket.Status == TicketStatus.Created || ticket.Status == (TicketStatus.Transfered | TicketStatus.Created))
return ticket;
}
}
Run Code Online (Sandbox Code Playgroud)
当我运行这个状态时Created|Transferred,if语句似乎失败了(没有按照它的意思去做).
有趣的是,如果我调试并逐步执行代码并观察语句,它总是TRUE在我的调试器中返回,但是当我单步执行代码时它无法进入块.
为什么调试器会显示该语句true,但仍然继续这样做?这就像调试器告诉我的一样.
有没有人经历过这个?
PS我正在使用Xamarin studio 5.9.7
我有一个字符串,保存整个HTML文档.我想获得具有特定id的div内的所有内容.例如:
<div id="myId" class = "myClass">
<div class = "myClass">hello</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我需要带有id ="myId"的标签和它的结束标签之间的内容.有没有办法实现这个目标?输出应该是第二行.
这是我第一次使用HTML Agility Pack,并立即面临问题。
就像我的标题所建议的那样,我想将整个元素作为包含内部元素的字符串获取。
因此,例如下面是我的html,我正在搜索具有id的表单元素 aspnetForm
<html>
<head>
</head>
<body>
<form name="aspnetForm" id="aspnetForm">
<div id="div1">
<a href="div1-a1">Link 1 inside div1</a>
<a href="div1-a2">Link 2 inside div1</a>
</div>
<a href="a3">Link 3 outside all divs</a>
<div id="div2">
<a href="div2-a1">Link 1 inside div2</a>
<a href="div2-a2">Link 2 inside div2</a>
</div>
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我希望以下为输出(以字符串形式)
<form name="aspnetForm" id="aspnetForm">
<div id="div1">
<a href="div1-a1">Link 1 inside div1</a>
<a href="div1-a2">Link 2 inside div1</a>
</div>
<a href="a3">Link 3 outside all divs</a>
<div id="div2">
<a href="div2-a1">Link 1 inside div2</a>
<a href="div2-a2">Link …Run Code Online (Sandbox Code Playgroud) 这是一个演示我的问题的简单示例.如果我做:
git commit -m "`date --utc`"
Run Code Online (Sandbox Code Playgroud)
它执行date --utc,并将结果放在提交消息中.
但是,当我将它别名为testcomit时:
git config --global alias.testcommit 'commit -m "`date --utc`"'
Run Code Online (Sandbox Code Playgroud)
执行git testcommit不执行该`date --utc`部分,而是将其逐字地放在提交消息中.
那么,如何让这个别名执行date --utc?