我今天在Firefox中使用NoScript的ABE(应用程序边界执行器)与FogBugz和我们的本地源代码控制服务器有问题.FogBugz案例页面可以包含签入的链接,以便您可以通过本地服务器的Web服务查看源代码更改.
例如:( https://SomeCompany.fogbugz.com/default.asp?1234案例页面)可能包含指向的链接http://SourceCodeControlServer/WebSVN/filedetails.php?...
请注意,SourceCodeControlServer 不是完全限定的域名,只是本地计算机名称.
即使在阅读了ABE规则语法和功能PDF后,它似乎没有像宣传的那样工作,仍然在页面顶部显示"Filtered by ABE"试图打开.关闭ABE或天堂禁止使用MS-IE,对我的优先级还不够高.
任何人都可以提供一些见解,为什么以下规则是错误的?
# User-defined rules. Feel free to experiment here.
Site .SourceCodeControlServer
Accept from .SomeCompany.fogbugz.com
Deny
Run Code Online (Sandbox Code Playgroud) ADK附带的模拟器可以在Eclipse下使用,可以用来测试基本的Android应用程序功能,但是:
Android开发人员发布了一些非常有用的平台版本,屏幕尺寸和密度以及从Android电子市场中提取的OpenGL ES版本的滚动图:
这些确实有助于缩小某些选择的范围,但我发现自己真的想知道各种设备支持的输入方法的比例是什么......触摸是90%的市场代表,还是只有5%?那些支持多点触控的比例是多少?
例如......任何玩过免费和开源游戏Replica Island(http://replicaisland.net/)的人都知道你控制游戏的方式因设备而异,因为它支持多种输入法.我认为Chris和Genki在这里做得非常出色,但是如果你使用触摸屏,你就会知道游戏在5-7英寸设备上比在10英寸以上的设备上更具可玩性.这是因为左右滑动控件不能保持与屏幕尺寸增加相同的物理尺寸 - 这意味着您必须在大型触摸屏设备(例如Honeycomb平板电脑)上移动太远以使其舒适.
这些是您在开始使用各种硬件设备进行测试时才发现的各种问题.或者您可以等到用户为您进行测试并开始降低您的应用评级.
经过长时间的介绍,以下是我的问题:
与可以做任何事情的 application/xml 文件或将所有空白序列转换为单个空格字符的 normalizedString 值相反,我在这里专门在具有字符串值的 text/xml 文件的上下文中询问。为简单起见,假设我仅将 ASCII 字符与 UTF8 编码文件一起使用。
给定我希望用 XML 表示的以下两行文本字符串:
Hello
World!
Run Code Online (Sandbox Code Playgroud)
这是内存中的以下字节:
0000: 48 65 6c 6c 6f 0d 0a 57 6f 72 6c 64 21 Hello..World!
Run Code Online (Sandbox Code Playgroud)
根据 RFC 2046,任何 text/* MIME 类型必须(不应该)使用回车符后跟换行符字符序列来表示换行符。有鉴于此,以下 XML 片段应该是正确的:
<tag>Hello
World!</tag>
Run Code Online (Sandbox Code Playgroud)
或者
0000: 3c 74 61 67 3c 48 65 6c 6c 6f 0d 0a 57 6f 72 6c <tag>Hello..Worl
0010: 64 21 3c 2f 74 61 67 3c d!</tag>
Run Code Online (Sandbox Code Playgroud)
但我经常看到如下文件:
<tag><![CDATA[Hello
World!]]></tag>
Run Code Online (Sandbox Code Playgroud)
或者,甚至是陌生人:
<tag>Hello&xD;
World!</tag>
Run Code Online (Sandbox Code Playgroud)
其中 &0xD; 序列后跟一个换行符: …
我今天在将 WCF 客户端部署到 QA 时遇到此错误:
System.ServiceModel.CommunicationException:无法识别的消息版本。
在 Fiddler 中,我注意到 WCF 客户端发送的请求封装在 SOAP 信封中(如预期),但来自远程 Web 服务的响应未封装在 SOAP 信封中。也就是说,我们的本地调试 Web 服务发送如下响应:
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header />
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Response xmlns="urn:example">
<Success>true</Success>
...
</Response>
</s:Body>
</s:Envelope>
Run Code Online (Sandbox Code Playgroud)
但远程 Web 服务只是发送以下内容:
<?xml version="1.0" encoding="utf-8"?>
<ns0:Response xmlns:ns0="urn:example">
<ns0:Success>true</ns0:Success>
...
</ns0:Response>
Run Code Online (Sandbox Code Playgroud)
据我所知,WCF 客户端抛出异常是因为没有 SOAP 信封。所以我的问题是:
WCF 客户端使用 basicHttpBindings(以及基于 SSL/TLS 的 HTTP 基本身份验证)。我考虑过使用 IClientMessageInspector.AfterReceiveReply() 重写响应,但在调用该方法之前会抛出异常,即:我们已经有一个用于请求/响应日志记录的实现,并且它没有遇到断点。
更多信息:
在与服务开发人员沟通后,听起来他们完全忽略了我们提供给他们的 .wsdl 和(svcutil 生成的)IService.cs 文件,并从头开始编写了 POX(纯旧 XML)服务。
我不确定我们能否说服他们正确执行此操作,因此现在我正在寻找将行为正常的 WCF SOAP 客户端转换为 POX 客户端的技巧。