我正在为现成的Java Web应用程序编写自定义扩展.该应用程序使用log4j进行日志记录,我想专门为我的扩展添加一个新的记录器和appender.问题是应用程序管理log4j.properties文件,该文件是根据管理界面UI中的选择动态生成的.由于这是一个"现成的"应用程序,我无法修改源代码.因此,如果我将自己的记录器和附加程序添加到文件中,则在管理员更改UI中的日志记录首选项时,它会被覆盖.
有可能让log4j从2个文件中获取它的配置吗?例如,我想要以下内容:
applog.properties #(Dynamically generated from admin UI)
mylog.properties #(My static properties)
Run Code Online (Sandbox Code Playgroud)
在这种情况下,log4j会以某种方式组合两个文件中的条目以进行完整配置.
这可能吗?或者还有其他解决方法吗?
我听说Apple将只接受Mac App Store中的Objective C应用程序.
有人知道java app是否会被接受?
考虑以下因素:
public class Person
{
public Person(string fName, string lName)
{
this.firstName = fName;
this.lastName = lName;
}
public string firstName;
public string lastName;
}
class App
{
static void Main()
{
Person[] peopleArray = new Person[3]
{
new Person("John", "Smith"),
new Person("Jim", "Johnson"),
new Person("Sue", "Rabon"),
};
// select lastName from peopleArray where firstName like '%'J'%'
}
}
Run Code Online (Sandbox Code Playgroud)
使用LINQ,如何表达:
select lastName from peopleArray where firstName like '%'J'%'
Run Code Online (Sandbox Code Playgroud)
我想打印lastnames
所有在他们身上有"J"的人firstname
.我发现很难在LINQ中表达它.请帮忙....
假设我有类似于methodInfo的方法Nullable<int>.HasValue
.无论如何将其转换为Nullable<string>.HasValue
?
我知道我可以做一个常规的泛型方法,methodInfo.GetGenericMethod()
但我没有看到方法为方法中的类型做到这一点,而没有做更多的反射开销.如果我已经有了这个方法,为什么我要再次思考?
有趣的是,这些方法都具有相同的功能MetadataToken
,这使得更令人印象深刻的是,不知何故,Module.ResolveMember似乎正在推出正确的方法.
有没有办法做到这一点Module.ResolveMethod
?本质上,方法和类型可能都有通用参数,我可能需要切换它们.由于MethodInfo始终表示其令牌相同且令牌表示MethodInfo是该方法的最开放版本.我只需要将它转换为我的类型.
编辑:更多的挖掘,似乎对于类似的东西List<T>.Add
,List<int>.Add
我检索的元数据令牌实际上存在于我的模块中,而通用定义存在于不同的模块中.
一旦我检索成员,我真的不想做反射,因为很难解决被调用的完全相同的方法.
好吧也许我只是愚蠢,但为什么这不起作用::
var methodinfo = typeof(List<int>).GetMethod("Add");
var handle = methodinfo.MetaDataToken;
var methodinfo2 = methodinfo.Module.ResolveMethod(handle,new []{typeof(string)},null);
Run Code Online (Sandbox Code Playgroud)
为什么methodInfo2说它Add(T)
不是Add(string)
?
Android开发新手.我想知道是否有可能以编程方式绘制一个图标放入通知栏?如果我们希望图标显示电池级别的动态文本怎么办?
如果有人有代码示例,那就太好了.谢谢.
我正在开发一个需要用户输入整数的程序.如何阻止用户输入非数字值?我尝试使用IsNumeric()函数,但在使用它之前出现错误.在我可以调用IsNumeric()函数之前,我在console.read上收到错误.这是我的代码:
Dim num As Integer
Console.Write("enter num:")
num = Console.ReadLine
If IsNumeric(num) = True Then
Console.WriteLine("valid. num = " & num)
Else
Console.WriteLine("invalid")
End If
Run Code Online (Sandbox Code Playgroud)
任何帮助是极大的赞赏.
我在OpenRasta的URL路由方面遇到了很多困难,特别是在涉及PUT请求时.
假设我有一个假设的UserContact处理程序,我需要使用以下签名公开它:
//Create a new contact:
POST /users/{userId}/contacts/create
//Update a contact:
PUT /users/{userId}/contact/{contactId}
Run Code Online (Sandbox Code Playgroud)
在这两种情况下,请求正文都包含联系人的表单编码参数.
在我的Configuration.cs中,我有:
ResourceSpace.Uses.PipelineContributor<HttpMethodOverriderContributor>();
ResourceSpace.Has.ResourcesOfType<ContactPost>()
.AtUri("/users/{userId}/contacts/create")
.And.AtUri("/users/{userId}/contacts/{contactId}")
.HandledBy<UserContactHandler>()
.AsXmlDataContract()
.And.AsJsonDataContract();
Run Code Online (Sandbox Code Playgroud)
我的处理程序有两种方法:
public OperationResult Post(int userId, ContactPost contact)
public OperationResult Put(int userId, int contactId, ContactPost contact)
Run Code Online (Sandbox Code Playgroud)
我遇到了这个代码的两个问题:
许多客户端(以及我们的IIS服务器)不支持PUT/DELETE.最后,我想通过使上述两个操作成为POST来简化这一过程.不幸的是,一旦我这样做,OpenRasta就无法告诉我正在尝试绑定哪个方法,而且两个方法都不起作用 - 对于/ create和/ {contactId}请求,我将获得406不可接受.
但是,如果我保留上面的代码并且客户端通过X-HTTP-Method-Override:PUT标头发送,则/ create请求有效,但/ {contactId}请求仍然返回406.
它甚至没有进入我的处理程序,所以我不知道从哪里开始调试这样的东西.
有没有办法告诉OpenRasta将URL路由显式映射到ASP.NET MVC中的某些方法?或者还有其他明显的东西我在这里做错了吗?
我是PHP的新手,当我将一个类定义从我的"主"页面移到一个包含文件时遇到了麻烦.
假设我有main.php,内容如下.它工作正常:
<?php
class SimpleClass
{
public $var = 'a def value';
public function displayVar() {
echo $this->var;
}
}
?>
<html>
<h1>blah blah blah</h1>
</html>
Run Code Online (Sandbox Code Playgroud)
但现在假设我尝试删除类定义并将其放在一个单独的文件中,以便main.htm现在看起来像:
<?php
include("classdef.php");
?>
<html>
<h1>blah blah blah</h1>
</html>
Run Code Online (Sandbox Code Playgroud)
和classdef.php是:
<?php
class SimpleClass
{
public $var = 'a def value';
public function displayVar() {
echo $this->var;
}
?>
Run Code Online (Sandbox Code Playgroud)
然后,当我查看我的main.php时,它显示为
var; } } ?>
blah blah blah
Run Code Online (Sandbox Code Playgroud)
好像其中的>
字符$this->var
被解释为关闭PHP.我在搜索这个问题时遇到了麻烦,因为我不知道->
运算符是什么.
这是关于Windows上Apache 2.2的PHP 5.3.3.
所以,我正在为我的node.js web框架编写一个用户/身份验证系统.
从可用性或安全性角度来看,我应该关注哪些边缘案例?
c# ×2
android ×1
api ×1
app-store ×1
binding ×1
css ×1
java ×1
javascript ×1
linq ×1
log4j ×1
node.js ×1
openrasta ×1
php ×1
reflection ×1
rest ×1
security ×1
url-routing ×1
user-input ×1
validation ×1
vb.net ×1