在Web应用程序中,如果我将实体框架模型的上下文声明为静态是可以的吗?会没事的?不推荐?为什么?谢谢!
我们正在将我们的应用程序迁移到Java EE容器中,并寻找用于我们迁移的应用程序的单元测试(和集成测试)的工具.我们的要求包括:
您在Java EE环境中使用什么来实现测试?您部署了哪些技术/设置?
我的研究发现了Cactus和JUnitEE:你有成功的设置吗?
运行'maven install'时,我得到以下信息..
[INFO] [javadoc:javadoc {execution:default}] [INFO] ---------------------------------- -------------------------------------- [ERROR] BUILD ERROR [INFO] ---- -------------------------------------------------- ------------------ [INFO] JavaDocs报告生成中发生错误:退出代码:1 - com.sun.tools.doclets.formats中的java.lang.NullPointerException com.sun.tools.doclets.formas. .generatePackageUse(PackageUseWriter.java:110)at com.sun.tools.doclets.formats.html.PackageUseWriter.generatePackageUseFile(PackageUseWriter.java:99)at com.sun.tools.doclets.formats.html.PackageUseWriter.generate(PackageUseWriter) .java:78)com.sun.tools.doclets.formats.html.ClassUseWriter.generate(ClassUseWriter.java:116)at com.sun.tools.doclets.formats.html.HtmlDoclet.generateOtherFiles(HtmlDoclet.java:92)com.sun.tools.doclets.internal.toolkit.AbstractDoclet.startGeneration(AbstractDoclet.java:122)at com.sun.tools.doclets.internal.toolkit.AbstractDoclet.start(AbstractDoclet.java:64)at com .sun.tools.doclets.formats.html.HtmlDoclet.start(HtmlDoclet.java:42)at com.sun.tools.doclets.standard.Standard.start(Standard.java:23)at sun.reflect.NativeMethodAccessorImpl.invoke0 (本地方法)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)at java.lang.reflect.Method.invoke(Method.java:597) )com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:269)at com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:143)com.sun.tools.javadoc.Start. com.sun.tools.javadoc.Start.begin(Start.java:128)中的com.sun.tools.javadoc.Main.execute(Main.java:41)中的parseAndExecute(Start.java:340) .tools.javadoc.Main.main(Main.java:31)
命令行是: /home/fsl/jdk1.6.0_12/jre/../bin/javadoc @options @packages @argfile
我究竟做错了什么?
我有一些代码我正在调查,用于将一些文本转换为MD5 Hash
.效果很好.它用于创建MD5Hhash
一个gravatar头像.这里是 :-
static MD5CryptoServiceProvider md5CryptoServiceProvider = null;
public static string ToMD5Hash(this string value)
{
//creating only when needed
if (md5CryptoServiceProvider == null)
{
md5CryptoServiceProvider = new MD5CryptoServiceProvider();
}
byte[] newdata = Encoding.Default.GetBytes(value);
byte[] encrypted = md5CryptoServiceProvider.ComputeHash(newdata);
return BitConverter.ToString(encrypted).Replace("-", "").ToLower();
}
Run Code Online (Sandbox Code Playgroud)
请注意我们如何MD5CryptoServiceProvider
在第一次调用此方法时创建?(为简单起见,这里不要担心竞争条件).
我想知道,如果我改变用于创建提供者的行,那么它的计算成本会更高......
using(var md5CryptoServiceProvider = new MD5CryptoServiceProvider())
{
... snip snip snip ....
}
Run Code Online (Sandbox Code Playgroud)
现在,这个方法是如何使用/消费的?好吧,想象一下它是StackOverflow的主页 - >对于每个帖子,生成用户的md5哈希值,这样我们就可以生成他们的gravatar url.所以视图可以调用这个方法几十次.
不要浪费太多时间来强调过早的优化等等......这会更好吗?
我发现当我创建依赖属性时,大多数都与UserControl中的属性名称冲突,例如背景,宽度等.所以我的策略是在我的所有自定义属性前加上"The",所以我有,例如
等等
我尝试使用"new"关键字来消除警告,但这会导致运行时发生冲突.
有没有人在自定义用户控件中为DependencyProperties提供更好的命名策略?
public partial class SmartForm : UserControl
{
public SmartForm()
{
InitializeComponent();
DataContext = this;
TheBackground = "#FFD700";
}
#region DependencyProperty: TheBackground
public string TheBackground
{
get
{
return (string)GetValue(TheBackgroundProperty);
}
set
{
SetValue(TheBackgroundProperty, value);
}
}
public static readonly DependencyProperty TheBackgroundProperty =
DependencyProperty.Register("TheBackground", typeof(string), typeof(SmartForm),
new FrameworkPropertyMetadata());
#endregion
}
Run Code Online (Sandbox Code Playgroud) 我正在研究初级(也许是高级)软件工程师的常见错误和不良假设.
你最久以来最终纠正的假设是什么?
例如,我误解了整数的大小不是标准,而是取决于语言和目标.国家有点尴尬,但确实如此.
坦率地说; 你有什么坚定的信念,大致你维持这个假设多久了?它可以是关于编程,编程语言或计算机科学的算法,语言,编程概念,测试或其他任何内容.
我在Vista Ultimate盒子上运行Visual Studio 2008.当我创建一个全新的控制台应用程序并通过调试器运行以下代码时,我得到一个预期的结果 - UnauthorizedAccessException
抛出一个并且不创建目录.
Sub Main()
Dim path = "C:\Windows\zzzz"
Try
IO.Directory.CreateDirectory(path)
Catch ex As Exception
Console.WriteLine(ex.Message)
End Try
Console.WriteLine(IO.Directory.Exists(path).ToString)
Console.ReadLine()
End Sub
Run Code Online (Sandbox Code Playgroud)
当我从生产解决方案中运行相同的代码时,该IO.Directory.CreateDirectory()
方法不会抛出异常,IO.Directory.Exists()
返回True,并且实际上并未在磁盘上创建目录.
是否有任何项目/解决方案设置会使IO.Directory.CreateDirectory()的行为变化如此?
注意:在任何一种情况下,我都不是以管理员身份运行Visual Studio.
编辑:生产应用程序与测试应用程序在同一个盒子上运行.
编辑#2:生产应用程序正在使用虚拟化.我单击"我的电脑",导航到C:\ Windows,然后单击资源管理器工具栏上的"兼容性文件",它将我带到C:\ Users\myUser\AppData\Local\VirtualStore\Windows,其中我创建的目录所在的位置.
唯一突出的问题是 - 为什么生产应用程序在测试控制台应用程序抛出异常时进行虚拟化?
答:默认情况下,控制台应用程序是使用app.manifest创建的.生产应用程序 - 这是一个WPF应用程序 - 没有app.manifest.显然,如果没有可执行的app.manifest,Vista将使用虚拟化.
感谢大家!
可能重复:
C++重载决议
我遇到了一个问题,在我的类重写了它的基类的函数后,所有重载的函数版本都被隐藏了.这是设计还是我做错了什么?
防爆.
class foo
{
public:
foo(void);
~foo(void);
virtual void a(int);
virtual void a(double);
};
class bar : public foo
{
public:
bar(void);
~bar(void);
void a(int);
};
Run Code Online (Sandbox Code Playgroud)
然后,下面会给出一个编译错误,说明条中没有(双)函数.
main()
{
double i = 0.0;
bar b;
b.a(i);
}
Run Code Online (Sandbox Code Playgroud) 我在Windows XP上使用Eclipse IDE for C/C++ Developers(Eclipse Ganymede Package - 3.4.2版),使用MinGW GCC 4.2.1和GDB 6.8-3.
我面临的问题与此处提到的问题非常相似.一个简单的hello world程序不会打印到调试器中的控制台输出.运行命令正确显示输出.我检查了gdb输出控制台和输出控制台.
在eclipse的控制台窗口中获取输出的正确设置是什么?
这个错误在哪里我看不到它:
news = News.find(:all, :conditions => [":simulation_id => session[:sim_id] AND :created_at > session[:last_login]"])
Run Code Online (Sandbox Code Playgroud) .net ×2
asp.net ×1
c# ×1
c++ ×1
eclipse-3.4 ×1
eclipse-cdt ×1
file-io ×1
inheritance ×1
java ×1
java-ee ×1
maven-1 ×1
methodology ×1
optimization ×1
overriding ×1
permissions ×1
polymorphism ×1
syntax-error ×1
unit-testing ×1
wpf ×1