我用wsHttpBinding和mexHttpBinding创建了一个WCF服务.在IIS6中的http上运行时,myservice.svc会显示通常的"您已创建服务".页.myservice.svc?wsdl显示包含WSDL的XML.
我改变<security mode="None">了<security mode="Transport">,现在我尝试使用https来获得相同的服务.myservice.svc仍显示"您已创建服务".但myservice.svc?wsdl也显示"你已经创建了一个服务."
我究竟做错了什么?
该服务仍然有效(使用http时创建一个客户端,之后更改为https).但VS无法使用https生成新客户端,可能是因为?wsdl页面已损坏.
我有一个接受用户HTML输入的网页.使用System.Xml命名空间将输入转换为xml文档,如下所示:
var doc = new XmlDocument();
doc.AppendChild(doc.CreateElement("root"));
doc.DocumentElement.SetAttribute("BodyHTML", theTextBox.Text);
Run Code Online (Sandbox Code Playgroud)
然后System.Xml.Xsl.XslCompiledTransform对数据使用Xsl转换().
用户倾向于使用项目符号,引号等在Microsoft Word中编写文本.粘贴到我的页面时,其文本包含无效字符,如0x0C,0x03等.使用xsl转换时,会出现此错误"十六进制值0x0C,是无效字符".
到目前为止,我的修复方法是消除我发现的令人反感的字符,使用循环和String.Replace:0到31之间的所有字符,除了9,10和13都被替换为String.Empty.
我正在寻找的是一种更好的方法.内置的.Net方法?或者只是一个非法unicode字符的完整列表.