有没有办法知道屏幕上显示的键盘大小?
我正在使用Cocos2dx进行编程,但我想知道Android部分或Cocos部分屏幕中显示的键盘高度,这没关系.
我知道Keyboard有一个getHeight()方法,但我不想创建新的键盘,我想使用默认键盘.
我几周前第一次意识到,在设置http cookie时,虽然域名不区分大小写,但路径是.
所以有一段时间存储了一个cookie
http://SomeWebSite.com
可以使用阅读
http://somewebsite.com
存储的cookie
http://somewebsite.com/SomePath
无法阅读使用
http://somewebsite.com/somepath
根本找不到它.
由于这显然是在RFC规定(参见3.3.3点这里),我怀疑这是一个疏忽,但作为一个用户,我没有受过处理的URL作为区分大小写的文本和Web服务器,至于我可以告诉大家,不要似乎无论如何都要介意,并且会很好地提供页面; 所以我想知道 - 这个决定背后的理由是什么?
任何人都可以轻松一点?
我有一个Windows服务,通过WCF服务接口提供某些虚拟队列的消息.我想揭露两个性能指标 -
第一个工作正常,第二个在PerfMon.exe中始终显示为0,尽管RawValue看起来是正确的.
我正在创建计数器 -
internal const string PERF_COUNTERS_CATEGORY = "HRG.Test.GDSSimulator";
internal const string PERF_COUNTER_ITEMSINQUEUE_COUNTER = "# Messages on queue";
internal const string PERF_COUNTER_PNR_PER_SECOND_COUNTER = "# Messages read / sec";
if (!PerformanceCounterCategory.Exists(PERF_COUNTERS_CATEGORY))
{
System.Diagnostics.Trace.WriteLine("Creating performance counter category: " + PERF_COUNTERS_CATEGORY);
CounterCreationDataCollection counters = new CounterCreationDataCollection();
CounterCreationData numberOfMessagesCounter = new CounterCreationData();
numberOfMessagesCounter.CounterHelp = "This counter provides the number of messages exist in each simulated queue";
numberOfMessagesCounter.CounterName = PERF_COUNTER_ITEMSINQUEUE_COUNTER;
numberOfMessagesCounter.CounterType = PerformanceCounterType.NumberOfItems32;
counters.Add(numberOfMessagesCounter);
CounterCreationData messagesPerSecondCounter= new CounterCreationData();
messagesPerSecondCounter.CounterHelp = "This …Run Code Online (Sandbox Code Playgroud) 我正在尝试为个人项目编写C#http服务器,我想知道如何将返回的服务器头从Microsoft-HTTPAPI/2.0更改为其他内容?
public class HttpWebServer
{
private HttpListener Listener;
public void Start()
{
Listener = new HttpListener();
Listener.Prefixes.Add("http://*:5555/");
Listener.Start();
Listener.BeginGetContext(ProcessRequest, Listener);
Console.WriteLine("Connection Started");
}
public void Stop()
{
Listener.Stop();
}
private void ProcessRequest(IAsyncResult result)
{
HttpListener listener = (HttpListener)result.AsyncState;
HttpListenerContext context = listener.EndGetContext(result);
string responseString = "<html>Hello World</html>";
byte[] buffer = Encoding.UTF8.GetBytes(responseString);
context.Response.ContentLength64 = buffer.Length;
System.IO.Stream output = context.Response.OutputStream;
output.Write(buffer, 0, buffer.Length);
output.Close();
Listener.BeginGetContext(ProcessRequest, Listener);
}
}
Run Code Online (Sandbox Code Playgroud) 我正在开发一个由几个Eclipse插件组成的Eclipse功能,使用Equinox声明性服务(DS)在运行时将插件连接在一起.我想添加集成测试来验证equinox配置.
特别是,我想验证一下
此外,我想使用Eclipse PDE无头构建(如此处和此处所述)将此集成测试作为我的持续集成过程的一部分.
我的问题是:您能否推荐任何框架,工具或实践,以便在我确定的约束条件下促进此类集成测试?
到目前为止我找到了两个线索:
编辑:为了澄清,每个插件都有一个配置了组件定义xml文件的OSGi服务组件.其中一个配置文件中的错误不会破坏任何插件依赖性,并且很容易在运行时被忽视.必须进行集成测试才能检测到此类故障.
编辑2:到目前为止,我所看到的每件事似乎都证实了Uri的断言(见下文),多插件Eclipse功能未在功能/产品级别进行集成测试.如果我能至少自动验证服务组件是否正确绑定在一起,我愿意不进行全面的集成测试.
我的方法(还没有工作):
In a JUnit test do
For each bundle/plugin of interest
Get the osgi Bundle object with org.eclipse.core.runtime.Platform.getBundle()
Verify that the Bundle is active with Bundle.getState()
Verify that the Bundle is using the expected services with Bundle.getServicesInUse()
Verify that the Bundle has registered the expected services with Bundle.getRegisteredServices()
我正在使用Eclipse Plug-in …
我们在ServerA上托管了一个WCF服务,该服务是一个没有直接Internet访问的服务器,并且具有非Internet可路由的IP地址.
该服务由BIGIP提供,它处理SSL加密和解密,并将未加密的请求转发到ServerA(此时它实际上不会进行任何负载平衡,但可能会在将来添加)在特定端口上.
这意味着我们的客户将通过https://www.OurDomain.com/ServiceUrl调用该服务,并通过BIGIP设备在http:// SeverA:85/ServiceUrl上获得我们的服务;
当我们浏览https://www.OurDomain.com/ServiceUrl上发布的WSDL 时,WSDL中包含的所有地址都基于http:// SeverA:85/ServiceUrl基地址
我们发现我们可以使用主机头设置来设置域,但我们的问题是虽然这会解析域,但我们仍然会使用错误的方案 - 它会使用http://www.OurDomain.com/ServiceUrl,而我们需要它是Https.
另外 - 由于我们在该服务器上托管了其他服务(基于asmx),我们在设置主机头时遇到了一些问题,因此我们认为我们可以在服务器上创建另一个站点(使用端口82)并设置主机头; 现在,除了http/https问题之外,我们遇到了一个问题,因为WSDL包含所有URL中的端口号,其中BigIP在端口443上工作(对于SSL)
是否有比实现主机头更灵活的解决方案?理想情况下,我们需要保持灵活性和易于支持性.
谢谢你的帮助…
我正在开发一个社交网络应用程序.
我想在Azure存储中为每个用户(客户端)加入社交网络创建一个容器,这意味着user1有一个名为container 1的容器,而容器1内部将有xml格式的用户1个人资料和一个用户1.
类似地,对于user2,将在azure blob存储中创建容器2,然后用户2配置文件以xml格式和用户2的配置文件图片保存,并且它是这样的,因此,对于10个用户,将有10个容器.
如果我想在用户客户端1的不同9个容器中列出存储在Azure存储中的所有9个用户的信息,我该怎么办呢?
我正在使用webservice,但我面临的挑战是如何收集位于9个不同容器中的所有9个用户配置文件信息.
我们观察到,当我们公开一个使用各种xml序列化属性修饰的类的WCF服务时,尽管我们在接口上使用XmlSerializerFormat属性,但任何操作参数的XmlRoot属性都会被完全忽略.参数的名称空间始终是服务的名称空间,而不是我们指定的名称空间.
这导致了我们的问题,因为它似乎不向后兼容ASMX,也因为我们正在使用BizTalk,并且需要更严格地控制XML交换的形状.
那么几个问题 -
我看过这篇文章,但我不认为这与我的问题有关 -
根据Wagner Silveira的要求 - 我用来测试的合同是 -
[ServiceContract(Namespace = "http://servicecontract"),
XmlSerializerFormat(Style = OperationFormatStyle.Document)]
public interface ITestService
{
[OperationContract]
MyOtherType MyTestMethod(MyType obj);
}
// Composite class for DCS and XMLS
[Serializable, XmlType, XmlRoot(Namespace = "http://datacontract")]
public class MyType
{
[XmlAttribute]
public string StringValue { get; set; }
}
// Composite class for DCS and XMLS
[Serializable, XmlType, XmlRoot(Namespace = "http://datacontract")]
public class MyOtherType
{
[XmlAttribute]
public string OtherStringValue …Run Code Online (Sandbox Code Playgroud) 还没有看到许多与日内瓦有关的问题,我也在日内瓦论坛上发布了这个问题......
我正在开发一个场景,我们有一个带有广泛安装基础的win form应用程序,它将在我们的整个操作过程中频繁地调用我们集中托管的各种服务.
这些服务都使用日内瓦框架,并且所有客户都应首先致电我们的STS以获得令牌以允许访问服务.
开箱即用,使用ws2007FederationHttpBinding,应用程序可以配置为在每次服务调用之前从STS检索令牌,但显然这不是最有效的方式,因为我们几乎重复调用服务的工作.
或者,我已经实现了从应用程序"手动"检索令牌所需的代码,然后在调用服务上的操作时传递相同的预先检索的令牌(基于WSTrustClient示例和助手论坛); 效果很好,所以我们确实有一个解决方案,但我相信它不是很优雅,因为它需要在代码中构建WCF通道,远离美妙的WCF配置.
我更喜欢ws2007FederationHttpBinding方法,客户端只需像任何其他WCF服务一样调用服务,而不了解日内瓦的任何信息,绑定负责令牌交换.
然后有人(Jon Simpson)给了我[我认为]一个好主意 - 添加一个服务,托管在应用程序本身以缓存本地检索的令牌.本地缓存服务将实现与STS相同的合同; 当收到请求时,它会检查是否存在cahced令牌,如果存在,则返回它,否则它将调用"真正的"STS,检索新令牌,缓存它并返回它.客户端应用程序仍然可以使用ws2007FederationHttpBinding,但不是将STS作为发行者,而是使用本地缓存;
通过这种方式,我认为我们可以实现两全其美 - 在没有服务特定的自定义代码的情况下缓存令牌; 我们的缓存应该能够处理所有RP的令牌.
我已经创建了一个非常简单的原型,看看它是否有效,并且 - 不幸的是有点不足为奇 - 我有点卡住了 -
我的本地服务(当前是一个控制台应用程序)获取请求,并且 - 第一次 - 调用STS来检索令牌,缓存它并成功将其返回给客户端,随后使用它来调用RP.一切顺利.
然而,第二次,我的本地cahce服务尝试再次使用相同的令牌,但客户端失败并出现MessageSecurityException -
"安全处理器无法在消息中找到安全标头.这可能是因为消息是不安全的故障,或者因为通信方之间存在绑定不匹配.如果服务配置为安全性而客户端是没有使用安全性."
是否存在阻止同一令牌被多次使用的东西?我对此表示怀疑,因为当我根据WSTrustClient示例重用令牌时,它运行良好; 我错过了什么?我的想法可能吗?一个好的?
这是本地缓存的(非常基本的,在此阶段)主代码位 -
static LocalTokenCache.STS.Trust13IssueResponse cachedResponse = null;
public LocalTokenCache.STS.Trust13IssueResponse Trust13Issue(LocalTokenCache.STS.Trust13IssueRequest request)
{
if (TokenCache.cachedResponse == null)
{
Console.WriteLine("cached token not found, calling STS");
//create proxy for real STS
STS.WSTrust13SyncClient sts = new LocalTokenCache.STS.WSTrust13SyncClient();
//set credentials for sts
sts.ClientCredentials.UserName.UserName = "Yossi";
sts.ClientCredentials.UserName.Password = "p@ssw0rd";
//call issue …Run Code Online (Sandbox Code Playgroud)