3.5中的配置设置让我疯狂......帮忙!;)
我有一个类库(命名为ADI),需要从项目中使用它的一些配置设置(如connectionstring,filesystem locations等).
我想在我的Windows窗体/ Web项目App.Config或Web.Config中定义这些设置,就像其他设置一样.
这是我的Windows窗体应用程序的app.config的一部分:
<applicationSettings>
<PhotoImportRobot.My.MySettings>
<setting name="ADIImageRoot" serializeAs="String">
<value>C:\DataTemp\ADI\Original\</value>
</setting>
<setting name="ADIImageVariantsRoot" serializeAs="String">
<value>C:\DataTemp\ADI\Variants\</value>
</setting>
</PhotoImportRobot.My.MySettings>
</applicationSettings>
Run Code Online (Sandbox Code Playgroud)
如何从我的类库中访问它?
我试过这个:
System.Configuration.ConfigurationManager.AppSettings("ADIImageVariantsRoot")
Run Code Online (Sandbox Code Playgroud)
该怎么办?
我正在使用IBM Websphere Application Server v6和Java 1.4,并且正在尝试将大型CSV文件写入ServletOutputStream供用户下载.目前文件范围为50-750MB.
较小的文件不会导致太多问题,但是对于较大的文件,它似乎被写入堆中,然后导致OutOfMemory错误并关闭整个服务器.
这些文件只能通过HTTPS提供给经过身份验证的用户,这就是我通过Servlet服务它们而不是仅仅将它们粘贴在Apache中的原因.
我正在使用的代码是(在此周围删除了一些绒毛):
resp.setHeader("Content-length", "" + fileLength);
resp.setContentType("application/vnd.ms-excel");
resp.setHeader("Content-Disposition","attachment; filename=\"export.csv\"");
FileInputStream inputStream = null;
try
{
inputStream = new FileInputStream(path);
byte[] buffer = new byte[1024];
int bytesRead = 0;
do
{
bytesRead = inputStream.read(buffer, offset, buffer.length);
resp.getOutputStream().write(buffer, 0, bytesRead);
}
while (bytesRead == buffer.length);
resp.getOutputStream().flush();
}
finally
{
if(inputStream != null)
inputStream.close();
}
Run Code Online (Sandbox Code Playgroud)
在FileInputStream似乎没有,如果我写到另一个文件或只是删除完全写入内存使用情况似乎并不成为一个问题而导致问题.
我的想法是resp.getOutputStream().write存储在内存中,直到数据可以发送到客户端.因此整个文件可能会被读取并存储在resp.getOutputStream()导致我的内存问题和崩溃的位置!
我已经尝试过缓冲这些流,并尝试使用Channels java.nio,其中任何一个似乎都没有对我的内存问题产生任何影响.我还在OutputStream每次迭代循环和循环之后刷新了一次,这没有帮助.
我有一系列表格并在它们之间导航.
每个表单都有一组控件,我从SQLite数据库加载属性,这是长(约1s)操作,不会给用户最好的感觉,因为表单正逐渐被绘制.
我不介意延迟,但我希望在加载所有数据时绘制表单.我想避免使用新线程,因为这会导致跨线程操作问题.
除了通过缓存加载的数据来加速整个应用程序之外,还有什么好的解决方案吗?
我知道这个问题的唯一算法是牛顿方法(猜测,然后改进它,直到它足够好).
任何其他想法(使用您喜欢的任何语言)?
PS:我当然没有任何用例,我只是出于学术原因进行研究.
我想提高有关会话管理的当前应用程序的安全性,我希望用户在明确注销之前登录.
如何安全地实施?
将会话信息保存在数据库中,如sessionid,ip,useragent?
请提供要求,可能是数据库布局,做和不做,提示和技巧.
注意:我知道像asp.net,rails,codeigniter等框架已经处理好了,但这不是一个选择.实际上它是一个经典的asp应用程序.但我认为这个问题与特定语言无关.
class Dad
{
protected static String me = "dad";
public void printMe()
{
System.out.println(me);
}
}
class Son extends Dad
{
protected static String me = "son";
}
public void doIt()
{
new Son().printMe();
}
Run Code Online (Sandbox Code Playgroud)
功能doIt将打印"爸爸".有没有办法让它打印"儿子"?
我有一个小的git repo设置,唯一真正的目的是能够在几台机器(工作,家庭,笔记本电脑)上进行本地开发.因此,我有一个分支,一旦我离开计算机,我提交/推动,拉一下我坐下 工作得很好,到现在为止.现在当我拉上我的"实时测试"机器时,我得到以下信息:
remote: Counting objects: 38, done.
remote: Compressiremote: ng objects: 100% (20/20), done.
remote: Total 20 (delta 17), reused 0 (delta 0)
error: unable to create temporary sha1 filename .git/objects/ed: File exists
fatal: failed to write object
fatal: unpack-objects failed
Run Code Online (Sandbox Code Playgroud)
在网上搜索我能找到的唯一真正的答案如下:http://marc.info/? l = git&m = 122720741928774&w = 2,它基本上表明这是一个虚假的错误,它在堆顶上,因此没有说什么关于什么是真的错了.
我从哪里可以找出问题所在?
编辑:删除本地副本并重新克隆
如您所知,格式如下:
"YYYY-MM-DDTHH:NN:SS.ZZZ+XX:XX" (i.e. "2009-03-24T16:24:32.057+01:00")
Run Code Online (Sandbox Code Playgroud)
我必须在 ActionScript3 类中完成,但任何来源都将不胜感激,谢谢。
给定路径c:\ someFolder\**\*.exe.如何使用此目录路径获取文件列表.我知道可以使用,Directory.GetFiles(directoryPath)但只有在directoryPath中没有通配符时才能使用.
我有两个控件包含DataGridViews在不同窗格中的s DockPanel.如果一个人在编辑模式和我转窗格中,我得到一个NullReferenceException从内抛出DataGridView的EndEdit()方法.堆栈跟踪不会比那更深,并且异常不包含任何其他信息.
我在反射器中看过那个方法,我看不到任何明显的null.我怀疑问题实际上是在我的代码中,但异常是从Microsoft的代码中重新抛出并重置堆栈跟踪.我怎样才能找出最初造成异常的原因?