我没有弄清楚removeAbandoned和驱逐之间的区别.我在某处读过removeAbandoned已被弃用,但在官方文档中没有提到它(http://commons.apache.org/dbcp/configuration.html).
所以,如果有人能够启发我,我将不胜感激:)
谢谢!
我正在尝试对需要双向SSL连接(客户端身份验证)的服务器进行HTTP调用.我有一个包含多个证书和密码的.p12文件.使用协议缓冲区序列化请求.
我的第一个想法是将密钥库添加到HttpClient使用的WebRequestHandler的ClientCertificate属性中.我还在我的计算机上将密钥库添加到了我信任的根证书颁发机构.
执行PostAsync时,我总是得到"无法创建ssl/tls安全通道".显然我做错了但我在这里有点不知所措.
任何指针将不胜感激.
public void SendRequest()
{
try
{
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls;
var handler = new WebRequestHandler();
// Certificate is located in bin/debug folder
var certificate = new X509Certificate2Collection();
certificate.Import("MY_KEYSTORE.p12", "PASSWORD", X509KeyStorageFlags.DefaultKeySet);
handler.ClientCertificates.AddRange(certificate);
handler.ServerCertificateValidationCallback = ValidateServerCertificate;
var client = new HttpClient(handler)
{
BaseAddress = new Uri("SERVER_URL")
};
client.DefaultRequestHeaders.Add("Accept", "application/x-protobuf");
client.DefaultRequestHeaders.TryAddWithoutValidation("Content-Type", "application/x-protobuf");
client.Timeout = new TimeSpan(0, 5, 0);
// Serialize protocol buffer payload
byte[] protoRequest;
using (var ms = new MemoryStream())
{
Serializer.Serialize(ms, MyPayloadObject());
protoRequest = ms.ToArray();
}
var result …Run Code Online (Sandbox Code Playgroud) 嗨所有的第一篇文章在这里:)让我们从我正在使用的代码片段开始:
public MyClass : INotifyPropertyChanged
{
private static MyClass _instance;
public static MyClass Instance
{
get
{
if (_instance == null)
_instance = new MyClass();
return _instance;
}
}
private bool _myProperty;
public bool MyProperty
{
get
{
return _myProperty;
}
set
{
if (_myProperty!= value)
{
_myProperty= value;
NotifyPropertyChanged("MyProperty");
}
}
}
private MyClass() { ... }
}
Run Code Online (Sandbox Code Playgroud)
如你所见,它是一个单身人士类.在我看来,我想在MyProperty上绑定一个控件.我最初的想法是在我的视图中使用以下内容将MyClass导入为静态资源:
<UserControl x:Class="Metrics.Silverlight.ChartView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:logic="clr-namespace:Metrics.Logic;assembly=Metrics.Logic">
<UserControl.Resources>
<logic:MyClass x:Key="myClass" />
</UserControl.Resources>
</UserControl>
Run Code Online (Sandbox Code Playgroud)
然后像这样绑定它:
<Button Margin="5" Click="btnName_Click" Visibility="{Binding Source={StaticResource myClass}, Converter={StaticResource visibilityConverter}, …Run Code Online (Sandbox Code Playgroud) 我希望log4j在MySql数据库中记录我的错误,但官方文档相当稀疏(为什么?).无论如何,这是我对log4j.xml配置文件的尝试:
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="jdbcAppender" class="org.apache.log4j.jdbc.JDBCAppender">
<param name="URL" value="jdbc:mysql://my_host/my_database" />
<param name="Driver" value="com.mysql.jdbc.Driver" />
<param name="User" value="my_user_name" />
<param name="Password" value="my_passwod" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="INSERT INTO errorlogs (Date, log_level, Application, Message, Exception) VALUES (TIMESTAMP(now()),'%p', ?? '%m', '%e' )"
/>
</layout>
</appender>
Run Code Online (Sandbox Code Playgroud)
我需要"Application"参数进行自定义.使用C#中的log4net,在我的代码中我会添加如下:
log4net.GlobalContext.Properties["Application"] = applciation;
Run Code Online (Sandbox Code Playgroud)
并在我的xml配置文件中添加它:
<parameter>
<parameterName value="?application" />
<dbType value="String" />
<size value="50" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%property{Application}" />
</layout>
</parameter>
Run Code Online (Sandbox Code Playgroud)
我想知道如何用log4j做同样的事情?
谢谢!
更新:嗯,似乎只有在我尝试在本地调试时这才是问题.当发布在Jetty(不是同一台机器)上时,效果很好.在本地调试时是否可以配置Run-Jetty-Run使用的jetty.xml文件?
我只是浪费了一个下午试图找到原因,但没有成功......
我正在为我的应用程序设置一个带有c3p0的连接池.顺便说一句,我正在使用Jetty 7.问题是,当我执行context.lookup获取数据源时,我得到以下异常:
javax.naming.NameNotFoundException; remaining name 'env/jdbc/DSTest'
at org.eclipse.jetty.jndi.NamingContext.lookup(NamingContext.java:634)
at org.eclipse.jetty.jndi.NamingContext.lookup(NamingContext.java:665)
at org.eclipse.jetty.jndi.NamingContext.lookup(NamingContext.java:680)
at org.eclipse.jetty.jndi.java.javaRootURLContext.lookup(javaRootURLContext.java:113)
at javax.naming.InitialContext.lookup(InitialContext.java:392)
at com.see.metrics.SqlHelper.Initialize(SqlHelper.java:68)
at com.see.metrics.Metrics.Initialize(Metrics.java:45)
at com.see.game.GameProducer.generateMetadata(GameProducer.java:223)
at org.odata4j.producer.mongodb.MongoProducer.initMongo(MongoProducer.java:98)
at org.odata4j.producer.mongodb.MongoProducerFactory.create(MongoProducerFactory.java:55)
at org.odata4j.producer.resources.ODataProducerProvider.newProducerFromFactory(ODataProducerProvider.java:66)
at org.odata4j.producer.resources.ODataProducerProvider.getInstance(ODataProducerProvider.java:48)
at org.odata4j.producer.resources.ODataProducerProvider.getInstance(ODataProducerProvider.java:1)
at com.sun.jersey.core.impl.provider.xml.LazySingletonContextProvider.get(LazySingletonContextProvider.java:80)
at com.sun.jersey.core.impl.provider.xml.LazySingletonContextProvider.access$000(LazySingletonContextProvider.java:52)
at com.sun.jersey.core.impl.provider.xml.LazySingletonContextProvider$1.getValue(LazySingletonContextProvider.java:69)
at com.sun.jersey.server.impl.inject.AbstractHttpContextInjectable$1.getValue(AbstractHttpContextInjectable.java:100)
at com.sun.jersey.server.impl.inject.InjectableValuesProvider.getInjectableValues(InjectableValuesProvider.java:43)
at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$EntityParamInInvoker.getParams(AbstractResourceMethodDispatchProvider.java:119)
at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:166)
at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:67)
at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:259)
at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:83)
at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:133)
at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:71)
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:990)
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:941)
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:932)
at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:384)
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:451)
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:632)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:538)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:478)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
at …Run Code Online (Sandbox Code Playgroud) 我正在运行MySQL的5.5.11版本,查询INFORMATION_SCHEMA.key_column_usage表时的性能非常糟糕.
我有一个简单的选择请求:
SELECT REFERENCED_TABLE_NAME
, TABLE_NAME AS TableName
, COLUMN_NAME AS ColumnName
, CONSTRAINT_SCHEMA AS Db
FROM INFORMATION_SCHEMA.key_column_usage
Run Code Online (Sandbox Code Playgroud)
平均需要8秒才能返回400行.这是一个知道问题吗?如果是这样,有没有办法提高性能(补丁可能?).
假设我有一个项目列表,每个项目都由一个简单的结构定义
struct simpleItem
{
String Category1;
String Category2;
...
String CategoryN;
}
Run Code Online (Sandbox Code Playgroud)
每个项目都有一系列属于某些类别的值.在处理列表时已知类别数量N,并且每个项目具有相同数量的类别并且每个类别仅具有一个值,没有重复项目.但是,每个列表可以具有不同的类别集.
我正在寻找一种方法来按类别对这些项目进行分组,如果通过组合每个类别的排列将这些组解构为单个项目,我将最终得到原始的组合,没有重复.
小组结果将是:
struct grouped
{
String[] Category1;
String[] Category2;
...
String[] CategoryN;
}
Run Code Online (Sandbox Code Playgroud)
为了这个例子,我们将限制为3个类别,但可以有N个.
选择"动物"类别:猫,狗,鼠,马
选择"眼睛颜色"类别:蓝色,黄色,绿色,红色,橙色
"毛皮"类别的选择:长,短,卷曲
如果列表具有这3个类别的所有排列,则最终结果将是
第1组:
动物[猫,狗,大鼠,马]
眼睛颜色[蓝色,黄色,绿色,红色,橙色]
毛皮[长,短,卷曲]
如果我有一个子列表,例如:
我们叫这个清单,输入(A)
在将这些项目分组后,我们最终会得到:(可能还有其他可能性).分组标准是尽可能减少输出组.
第1组:
动物[猫,狗]
眼睛颜色[蓝色]
毛皮[长,短]
第2组:
动物[狗]
眼睛颜色[绿色]
毛皮[长]
第3组:
动物[大鼠]
眼睛颜色[红色,蓝色]
毛皮[短]
我们称这些组为输出(B)
正如我们所看到的,通过组合结果组的每个项目,我们将回到(A)中7个元素的原始输入列表.
所以,我正在尝试编写一个生成这些组的算法.我试图用LINQ做这个,但我也愿意接受其他建议.关于如何从(A)到达(B)的任何建议?
我正在使用 Aurelia 和 Typescript 构建网页。我有一个简单的登录表单,我想验证用户电子邮件和密码。
我正在使用 Aurelia 验证,默认情况下它会在每次更改时验证我的输入内容,这可能很烦人。(例如:当您尚未输入电子邮件时,收到一条错误消息,指出电子邮件无效)。因此,我想在 Blur 上进行验证(当输入焦点丢失时)以及当用户单击“登录”按钮时。
这是我的代码:
登录.html
<template>
<section>
<div class="container col-lg-12">
<div class="col-md-4 col-md-offset-4 centered">
<h2 t="signin_sign_in"></h2>
<form role="form" submit.delegate="login()" validate.bind="validation">
<br if.bind="errors" />
<div if.bind="errors" repeat.for="error of errors" class="alert alert-danger">
<h4 repeat.for="message of error">${message}</h4>
</div>
<div class="form-group">
<label class="control-label" t="signin_email_address"></label>
<input type="text" class="form-control" value.bind="email">
</div>
<div class="form-group">
<label class="control-label" t="signin_password"></label>
<input type="password" class="form-control" value.bind="password">
</div>
<button type="submit" class="btn btn-primary" t="signin_sign_in"></button>
</form>
</div>
</div>
</section>
</template>
Run Code Online (Sandbox Code Playgroud)
登录.ts
@autoinject()
export class Login {
email: string; …Run Code Online (Sandbox Code Playgroud) 我正在构建一个使用 Azure Active Directory 的 Web 应用程序,该应用程序具有登录方法。在 Azure 中,我希望将对我的应用程序的访问权限限制为仅特定的用户组。我无法在 Azure 门户中找到如何执行此操作,希望得到一些指示。
这是我的设置。我想将“我的应用程序”的访问权限限制为仅属于Group 1成员的用户。
我在我的应用程序中使用Xamarin Forms,我需要用户能够以HH:mm:ss格式输入时间.所以,基本上我需要一个像这样的控件:
通过使用自定义iOS渲染,我已经能够从TimePicker中删除AM/PM部件来实现以下目标:
这是我的渲染器代码:
public class TimePickerSecondsRenderer : TimePickerRenderer
{
protected override void OnElementChanged(ElementChangedEventArgs<TimePicker> e)
{
base.OnElementChanged(e);
var timePicker = (UIDatePicker)Control.InputView;
timePicker.Locale = new NSLocale("CA");
}
}
Run Code Online (Sandbox Code Playgroud)
我认为这是朝着正确方向迈出的一小步,但在为秒添加第三列以及每列的标签时,我真的很茫然.
我看了看这篇文章,但到目前为止它并没有真正帮助我.
有没有人设法通过他们的Xamarin Forms项目实现这种控制?你介意分享一些指示吗?
当我尝试在Jetty上运行我的项目时,我遇到了这个异常:
java.lang.ClassNotFoundException:默认
完整堆栈:
Launching Jetty with port 8080, context / and webapp path src/main/webapp
2011-07-19 16:49:56.832:INFO::Logging to STDERR via org.mortbay.log.StdErrLog
2011-07-19 16:49:56.841:INFO::jetty-6.1.26
2011-07-19 16:49:57.181:WARN::EXCEPTION
java.lang.ClassNotFoundException: Default
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:401)
at org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:363)
at org.mortbay.util.Loader.loadClass(Loader.java:91)
at org.mortbay.util.Loader.loadClass(Loader.java:71)
at org.mortbay.jetty.servlet.Holder.doStart(Holder.java:73)
at org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:242)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:736)
at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282)
at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518)
at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
at org.mortbay.jetty.Server.doStart(Server.java:224)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at net.sourceforge.eclipsejetty.launch.JettyLauncherMain.launch(JettyLauncherMain.java:67)
at net.sourceforge.eclipsejetty.launch.JettyLauncherMain.main(JettyLauncherMain.java:50) …Run Code Online (Sandbox Code Playgroud) 我有一个简单的逻辑应用程序在重复触发器上运行Azure函数(每天).如果运行该功能时出现问题,我想向IT部门发送电子邮件.这是我的Logic App设置:
但是,每当出现错误时(例如,azure函数返回HTTP代码500,就像这样:)
return req.CreateResponse(HttpStatusCode.InternalServerError, new
{
error = $"{errorMessage}. {ex.Message}"
});
Run Code Online (Sandbox Code Playgroud)
逻辑应用程序流程在我检查状态代码并对其作出反应之前就停止了:
所以我的问题是:有没有办法处理Azure功能错误响应代码?
c# ×5
java ×4
azure ×2
jetty ×2
mysql ×2
.net ×1
algorithm ×1
aurelia ×1
c3p0 ×1
database ×1
eclipse ×1
html ×1
httpclient ×1
ios ×1
javascript ×1
jndi ×1
linq ×1
log4j ×1
logging ×1
maven-2 ×1
mvvm ×1
performance ×1
security ×1
silverlight ×1
sql ×1
ssl ×1
typescript ×1
validation ×1
xamarin ×1
xamarin.ios ×1