小编And*_*rew的帖子

添加HttpClient标头会生成带有一些值的FormatException

这发生在针对Google Cloud Messaging的编码环境中,但适用于其他地方.

考虑以下:

var http = new HttpClient();
http.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("key=XXX");
Run Code Online (Sandbox Code Playgroud)

var http = new HttpClient();
http.DefaultRequestHeaders.Add("Authorization", "key=XXX");
Run Code Online (Sandbox Code Playgroud)

这两个都生成FormatException:

System.FormatException:值key = XXX'的格式无效.

解决方案是删除等号.

  1. 深入研究反射器显示,在添加新的标头值时会运行大量的验证和解析代码.为什么这一切都是必要的?难道这个客户不应该让我们走开吗?

  2. 如何逃避等号以便添加此值成功?

c# dotnet-httpclient google-cloud-messaging

65
推荐指数
4
解决办法
4万
查看次数

为什么单击Excel/Word中的链接会导致我的非IE浏览器伪装成MSIE 7.0?

当点击在Excel/Word中的链接,该链接后,会进入检查用户代理,以确定它是否支持或不一个网站,该网站可能会错误地假设你的时候,其实你用别的东西使用MSIE 7.0 ,说Chrome.

当检查与请求一起发送的用户代理时,它显示该请求来自MSIE 7.0 - 当从用户的角度来看,显然没有使用MSIE 7.0.

这里发生了什么?如何停止向用户显示错误消息?

excel user-agent ms-word hyperlink internet-explorer-7

9
推荐指数
2
解决办法
3329
查看次数

当密码或用户名字段包含特殊字符时,System.Uri无法解析

以下代码抛出System.UriFormatException:

var uri = new UriBuilder("ftp://user:pass#word@ftp.somewhere.com:21/fu/bar.zip");
Run Code Online (Sandbox Code Playgroud)

System.UriFormatException:无效的URI:由于存在冒号(':')而无法解析端口,因此需要端口.

从密码字段中删除#符号可以解决问题.

  1. #符号的有效字符在密码字段?
  2. 有办法逃避这个吗?
  3. 这是Uri类解析例程中的已知错误吗?
  4. 如何解决这个问题 - 假设您无法更改密码?;-)

谢谢,安德鲁

c# parsing uri

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

ASP.NET MVC 4 WebAPI(beta) - 如何更改最大响应缓冲区大小

在ASP.NET MVC 4.0 WebAPI(测试版)中,我将返回一个序列化为大于65kb的JSON的对象.从下面的堆栈跟踪中可以看出,框架正在抛出异常,因为这超出了一些内部限制.

System.Net.Http.HttpRequestException: Cannot write more bytes to the buffer than the configured maximum buffer size: 65536.
   at System.Net.Http.HttpContent.LimitMemoryStream.CheckSize(Int32 countToAdd)
   at System.Net.Http.HttpContent.LimitMemoryStream.Write(Byte[] buffer, Int32 offset, Int32 count)
   at System.IO.StreamWriter.Flush(Boolean flushStream, Boolean flushEncoder)
   at System.IO.StreamWriter.Write(Char value)
   at Newtonsoft.Json.JsonWriter.AutoComplete(JsonToken tokenBeingWritten) in d:\Development\Releases\Json\Working\Src\Newtonsoft.Json\JsonWriter.cs:line 634
   at Newtonsoft.Json.JsonTextWriter.WritePropertyName(String name) in d:\Development\Releases\Json\Working\Src\Newtonsoft.Json\JsonTextWriter.cs:line 204
   at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.WriteMemberInfoProperty(JsonWriter writer, Object memberValue, JsonProperty property, JsonContract contract) in d:\Development\Releases\Json\Working\Src\Newtonsoft.Json\Serialization\JsonSerializerInternalWriter.cs:line 209
   at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeObject(JsonWriter writer, Object value, JsonObjectContract contract, JsonProperty member, JsonContract collectionValueContract) in d:\Development\Releases\Json\Working\Src\Newtonsoft.Json\Serialization\JsonSerializerInternalWriter.cs:line 336
   at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.WriteMemberInfoProperty(JsonWriter writer, Object memberValue, …
Run Code Online (Sandbox Code Playgroud)

asp.net asp.net-web-api

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

通过SSMS将平面文件导入SQL Server失败

使用SSMS导入平面文件选项将看似有效的平面文件(csv,文本等)导入SQL Server数据库时,会出现以下错误:

Microsoft SQL Server Management Studio

将数据插入表时出错.(Microsoft.SqlServer.Import.Wizard)

将数据插入表时出错.(Microsoft.SqlServer.Prose.Import)

你调用的对象是空的.(Microsoft.SqlServer.Prose.Import)

目标表可能包含导入得很好的行.未导入的第一行似乎没有格式错误.

出了什么问题?

import ssms

6
推荐指数
2
解决办法
5357
查看次数

.NET TcpClient/NetworkStream实现,支持异步操作并考虑超时

根据问题数量,论坛帖子等,BCL中的TcpClient/NetworkStream实现似乎缺乏对取消IO操作的良好支持.随着.NET 4.5中Async方法的增加,这种缺少取消(或者不错的超时支持)使得事情变得更加令人沮丧,因为在执行IO时取消拒绝监视其CancellationToken的任务变得更加复杂(几乎不可能) .

我已经看到许多实现启动其他线程来监视网络操作并在事情看起来出错时关闭底层流.在我们试图通过使用异步操作来节省这些资源的世界中​​,这感觉非常脏.

任何人都可以指导我处理有效取消/超时网络IO操作或实际工作的强大第三方实施的指导方向吗?

.net networkstream tcpclient asyncsocket base-class-library

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