gpt4 book ai didi

c# - WCF Web JSON 请求双斜线

转载 作者:太空宇宙 更新时间:2023-11-03 16:23:26 33 4
gpt4 key购买 nike

我有 WCF 服务,其方法发送路径如下:“C:\asdf\log.log”。

客户端获取“C:\\asdf\\log.log”

问题出在哪里,如何解决?

发送代码

MemoryStream stream1 = new MemoryStream();
DataContractJsonSerializer ser =
new DataContractJsonSerializer(typeof(ConfSettings));
ser.WriteObject(stream1, this);
stream1.Position = 0;
StreamReader sr = new StreamReader(stream1);
string tmp = sr.ReadToEnd();
return (tmp);

获取代码

Stream dataStream = response.GetResponseStream();
StreamReader reader = new StreamReader(dataStream);
string responseFromServer = reader.ReadToEnd();
string result = responseFromServer;
string tmp = result
byte[] bytes = new byte[tmp.Length * sizeof(char)];
System.Buffer.BlockCopy(tmp.ToCharArray(), 0, bytes, 0, bytes.Length);
MemoryStream memStream = new MemoryStream(bytes, 2, bytes.Length-4);
DataContractJsonSerializer ser =
new DataContractJsonSerializer(typeof(ConfSettings));
conf = (ConfSettings)ser.ReadObject(memStream);

最佳答案

接收到的实际值是否带有双斜杠,或者它只是以双斜杠出现在调试器中?调试器将显示某些字符的转义序列,包括\\for\,但字符串的实际内容是正确的。

如果问题存在于调试器之外,我将需要查看更多代码以排除错误输入是问题的根源。特别是在您的发送代码中,这个和 ConfSettings 的结构是什么?被损坏的属性是否设置正确,或者您是否使用了常规字符串文字而不是逐字字符串文字:

string rightVal = "C:\\asdf\\log.log";
string wrongVal = @"C:\\asdf\\log.log";
//string rightVal = @"C:\asdf\log.log";

关于c# - WCF Web JSON 请求双斜线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13304015/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com