该SSLSocket.getEnabledProtocols()方法返回以下内容: [SSLv2Hello, SSLv3, TLSv1].事实上,当我打电话connect()并打开SSL调试时,我看到使用了一个v2客户端问候:
main, WRITE: TLSv1 Handshake, length = 81
main, WRITE: SSLv2 client hello message, length = 110
Run Code Online (Sandbox Code Playgroud)
但我已经发现了两个(诚然旧)基准说JSSE并不能支持SSL版本2:
来自Java的基础网络:
'SSLv2Hello'是一种伪协议,它允许Java使用SSLv2'hello消息'发起握手.这并不会导致使用的SSLv2协议,这是不是Java的所有支持.
并从JSSE参考指南:
J2SDK 1.4及更高版本中的JSSE实现实现了SSL 3.0和TLS 1.0.它没有实现SSL 2.0.
现在,我的理解是,当客户端2.0版客户端问候应只发送不支持SSL 2.0版.来自RFC 2246:
支持SSL 2.0版服务器的TLS 1.0客户端必须发送SSL 2.0版客户端问候消息[SSL2] ... 警告:发送2.0版客户端问候语消息的能力将逐步淘汰.
那么为什么Java使用它呢?
我正在构建一个小帮手,将EF4对象转换为POCO.(我知道有AutoMapper,但我此时正处于ac #dilemma)
我怎样才能完成这项工作(P:new(E)不合法的地方我希望确保P(POCO)类作为接受E类的构造函数(因此处理转换)
我怎样才能做到这一点?
如何在C#中创建一个可以采用新(类型)约束的泛型函数?
public static List<P> ListConvert<E, P>(List<E> efList) where P: new(E)
{
List<P> pList = new List<P>();
foreach (E item in efList)
{
P myItem = new P(item);
pList.Add(myItem);
}
return pList;
Run Code Online (Sandbox Code Playgroud) 我正在将.csv文件导入MySQL,一切正常,除了文件中的换行符.
我的.csv行之一如下所示:
42,E-A-R™ Classic™ Earplugs,ear,images/ear/classic.jpg,5%,"Proven size, shape, and foam
3M's most popular earplug
Corded and uncorded in a variety of individual packs
NRR 29 dB / CSA Class AL",312-1201,,"E-A-R™ Classic™ Uncorded Earplugs, in Poly Bag",310-1001,,E-A-R™ Classic™ Uncorded Earplugs in Pillow Pack,311-1101,,"E-A-R™ Classic™ Corded Earplugs, in Poly Bag"
Run Code Online (Sandbox Code Playgroud)
第六个字段应该在调用时进入一个新行,但它不会.导入.csv时,我选择以\r \n 终止的行.我试过\n和auto但没有运气.
奇怪的是,该字段在数据库中看起来正确,具有所有适当的中断.如果我手动进入PHPmyadmin插入换行符,它会正确打印.每个字段也设置为UTF-8.
有什么想法吗?谢谢.
编辑:这是MySQL语句
LOAD DATA LOCAL INFILE '/tmp/php89FC0F' REPLACE INTO TABLE `ohes_flyer_products`
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
ESCAPED BY '\\'
LINES TERMINATED BY '\r'
Run Code Online (Sandbox Code Playgroud) 我有一个我正在编写的应用程序,它通过迭代节点,然后使用当前节点的信息更新页面.我在页面中有一个UpdatePanel,其中包含标签,文本框和按钮.标签列出当前节点的当前可用子节点,用户输入他们想要进入文本框的子节点,然后单击提交按钮.我在提交按钮的事件处理程序中设置了节点的新值.
这是我的问题:每次我输入要导航到的节点时,对象会将其值重置为最初初始化为的值.我甚至将相同的代码放入Windows窗体中以验证它是否正常迭代我的树,并且它可以正常工作,所以我知道我的问题是与AJAX相关的.
这是我用AJAX编写的第一个应用程序,所以我仍然在学习它是如何工作的.任何帮助将不胜感激.我用Google搜索并搜索过来.
这是HTML:
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager" runat="server"></asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Label ID="question" runat="server" Text=""></asp:Label>
<br />
<asp:TextBox ID="answer" runat="server"></asp:TextBox>
<br />
<asp:Button ID="Submit" runat="server" Text="Submit" onclick="Submit_Click" />
</ContentTemplate>
</asp:UpdatePanel>
</form>
Run Code Online (Sandbox Code Playgroud)
而C#:
protected void Submit_Click(object sender, EventArgs e)
{
int ans = int.Parse(answer.Text);
if (!current.ChildIDs.Contains(ans))
{
return;
}
current = tree.Node(ans);
question.Text = current.Question;
}
Run Code Online (Sandbox Code Playgroud)
current是当前节点,它有一个包含所有子节点ID的公共ArrayList.树是我拥有的NodeTree; 调用Node只返回新节点.当前和Tree都在Page_Load事件中初始化,并且只触发一次(首次加载页面时).
这真的很简单的代码; 我只是很难理解为什么AJAX无法正常工作.
我需要画一大堆立方体,每一面都有(可能)独特的纹理.一些纹理也具有透明度的一部分.具有透明纹理的立方体后面的立方体应该透过透明纹理显示.但是,我绘制立方体的顺序似乎决定了透明度是否有效,这是我想要避免的.看这里:
cubeEffect.CurrentTechnique = cubeEffect.Techniques["Textured"];
Block[] cubes = new Block[4];
cubes[0] = new Block(BlockType.leaves, new Vector3(0, 0, 3));
cubes[1] = new Block(BlockType.dirt, new Vector3(0, 1, 3));
cubes[2] = new Block(BlockType.log, new Vector3(0, 0, 4));
cubes[3] = new Block(BlockType.gold, new Vector3(0, 1, 4));
foreach(Block b in cubes) {
b.shape.RenderShape(GraphicsDevice, cubeEffect);
}
Run Code Online (Sandbox Code Playgroud)
这是Draw方法中的代码.它产生了这个结果: 第一张图片http://oi53.tinypic.com/av4tv7.jpg
如您所见,叶子立方体后面的纹理在另一侧是不可见的.当我在数组中反转索引3和0时,我得到这个:

很明显,绘图的顺序正在影响立方体.我怀疑它可能与混合模式有关,但我不知道从哪里开始.
我试图在C#中编写一个正则表达式来删除所有脚本标记及其中包含的任何内容.
到目前为止,我已经提出以下内容:\<([^:]*?:)?script\>[^(\</<([^:]*?:)?script\>)]*?\</script\>但是这不起作用.
我将分解并在每个部分解释我的想法:
\<([^:]*?:)?script\>
Run Code Online (Sandbox Code Playgroud)
在这里,我试图声明它应该获取任何脚本元素,即使它以命名空间为前缀,比方说,<a:script></a:script>.我也将它添加到结束标记.
[^(\</<([^:]*?:)?script\>)]*?
Run Code Online (Sandbox Code Playgroud)
在这里,我想指出,这应该让任何东西包含除了在标签内</a:script>,</script>等等.
\</script\>
Run Code Online (Sandbox Code Playgroud)
在这里,我声明它应该有一个结束标记.
谁能发现我哪里错了?
对于我的生活,我找不到像运行一样的简单例子
"SELECT * FROM MyTable"
在Ruby中.我发现的一切都假设是ORM或Rails.现在,我不想要ORM; 我不想要Rails.我正在寻找使用pg gem并执行简单查询的独立内容.
任何人都可以告诉我如何使用Java中的每个循环打印ArrayList中元素的索引号.
我想ScrollView在其中使用一个视图,并在动态(在运行时)向ScrollView容器添加更多视图.
是否可以添加这些视图而无需创建新布局并对其进行充气?如果是这样,动态添加这些视图的一般过程是什么?
为了这个问题,假设意见是TextView......
谢谢!
我正在将审核添加到我的EF4(模型优先)应用程序中.我可以获得有关更改的实体的结构属性的详细信息.我还可以看到多对多关系何时发生变化.我可以看到所涉及的类型的名称和发生的事情(添加或删除),但我真正喜欢的是关系变化中涉及的实体的Id.
以下是我目前用于跟踪多对多关系变化的内容:
var changes = context.ObjectStateManager.GetObjectStateEntries(EntityState.Added | EntityState.Deleted | EntityState.Modified);
var auditTime = DateTime.Now;
foreach (var change in changes)
{
if (change.Entity != null && change.Entity.GetType().Equals(typeof(AuditTrail)))
{
continue;
}
var detailsBuilder = new StringBuilder();
if (change.Entity == null & (change.State == EntityState.Added | change.State == EntityState.Deleted))
{
detailsBuilder.Append("A link between entities ");
foreach (var changedMember in change.EntitySet.ElementType.KeyMembers)
{
detailsBuilder.AppendFormat("{0}", changedMember.Name);
if(change.EntitySet.ElementType.KeyMembers.IndexOf(changedMember) < change.EntitySet.ElementType.KeyMembers.Count -2)
{
detailsBuilder.Append(", ");
}
else if (change.EntitySet.ElementType.KeyMembers.IndexOf(changedMember) == change.EntitySet.ElementType.KeyMembers.Count - 2)
{
detailsBuilder.Append(" and ");
} …Run Code Online (Sandbox Code Playgroud)