很可能由 IncludeExceptionDetailInFaults=true 创建的 ExceptionDetail,其值为: System.ArgumentException: 指定的值含有无效的 CRLF 字符。 参数名: value 在 System.Net.WebHeaderCollection.CheckBadChars(String name, Boolean isHeaderValue) 在 System.Net.WebHeaderCollection.Add(String name, String value) 在 System.Collections.Specialized.NameValueCollection.Add(NameValueCollection c) 在 System.ServiceModel.Activation.HostedHttpContext.HostedRequestContainer.System.ServiceModel.Channels.HttpRequestMessageProperty.IHttpHeaderProvider.CopyHeaders(WebHeaderCollection headers) 在 System.ServiceModel.Channels.HttpRequestMessageProperty.get_Headers() 在 System.ServiceModel.Description.ServiceMetadataExtension.TryGetHttpHostAndPort(Uri listenUri, Message request, String& host, Int32& port) 在 System.ServiceModel.Description.ServiceMetadataExtension.GetDynamicAddressWriter(Message request, Uri listenUri, Boolean removeBaseAddress) 在 System.ServiceModel.Description.ServiceMetadataExtension.GetWriteFilter(Message request, Uri listenUri, Boolean removeBaseAddress) 在 System.ServiceModel.Description.ServiceMetadataExtension.HttpGetImpl.TryHandleMetadataRequest(Message httpGetRequest, String[] queries, Message& replyMessage) 在 System.ServiceModel.Description.ServiceMetadataExtension.HttpGetImpl.ProcessHttpRequest(Message httpGetRequest) 在 System.ServiceModel.Description.ServiceMetadataExtension.HttpGetImpl.Get(Message message) 在 SyncInvokeGet(Object , Object[] , Object[] ) 在 System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs) 在 System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc) 在 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc) 在 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage41(MessageRpc& rpc) 在 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4(MessageRpc& rpc) 在 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc& rpc) 在 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage3(MessageRpc& rpc) 在 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage2(MessageRpc& rpc) 在 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc& rpc) 在 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage1(MessageRpc& rpc) 在 System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)
是否是URL串的编码问题
http://forums.asp.net/t/1362122.aspx 这个有个类似的现象
那怎么处理URL编码问题呢?
@殇伈de錑婲: UrlEncode 把其他非ASCII编码,ASCII中转换,如空格->%20
问题提示的很明确了:指定的值含有无效的 CRLF 字符。
很可能是在定义契约或数据契约时使用了非法字符,看不到代码,无法排解问题。
指哪些地方的代码呢?
@殇伈de錑婲:
很可能是在定义契约或数据契约时使用了非法字符
也可能是你类型及成员名称的定义。。。
看不到代码,不好说。