我们假设我们有这样的类
public class A{
string someField { get; set; }
public virtual B B {get; set; }
}
public class B {
int someIntField {get; set; }
[ForeignKey("Id")]
[Required]
public virtual A A { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
在代码中,我为它们创建了新实例,并建立了如下关系:
A a = new A () { someField = "abcd"};
B b = new B () { someIntField = 42 };
A.B = b;
B.A = a;
Run Code Online (Sandbox Code Playgroud)
我应该使用DBContext来保存这样的类:
using (var db = new myDbContext()) {
myDbContext.As.Add(A);
myDbContext.Bs.Add(B);
myDBContext.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud)
或者保存它:
using …Run Code Online (Sandbox Code Playgroud) 我正在尝试设置FallbackValue以防万一我的转换器无法调用,但我不知道该怎么做.
<Image Source="{Binding FallbackValue="Pictures/Unknown.png", Path=LatestPosition.DeviceFamily, Converter={x:Static conv:ConverterSet.DeviceTypeToImageSourceconverter}}" Name="image1" Stretch="Fill" Margin="5,8" Width="150" Height="150" Grid.RowSpan="4" />
Run Code Online (Sandbox Code Playgroud)
转换器中外部图像的路径看起来像那样,当LatestPosition!= null时,图像以适当的方式设置.
private static readonly ImageSource Dev1 = new BitmapImage(new Uri("/Pictures/dev1.png", UriKind.Relative));
private static readonly ImageSource Dev2 = new BitmapImage(new Uri("/Pictures/dev2.png", UriKind.Relative));
Run Code Online (Sandbox Code Playgroud) 问题:我们有几种服务可以通过XSLT生成大量的XML.我们没有任何XSD.我花时间创建了XSD,并想确认它们是正确的.目前我正在尝试验证XSD和XML是否正确验证.
问题:我有一个导入所有xsd的xsd(common.xsd).它还没有公开托管,所以直到最近我才发现将common.xsd的完整路径放在AccountList.xsd中我才得以进一步发展.我现在收到以下内容:
org.xml.sax.SAXParseException; lineNumber:9; columnNumber:70; s4s-att-invalid-value:元素'element'中'type'的属性值无效.记录原因:UndeclaredPrefix:无法将'common:response'解析为QName:未声明前缀'common'.
我很茫然.我找不到在论坛中提出的示例或获得成功的源代码片段.我很感激有助于成功验证我的xml.
common.xsd
<xs:schema version="1.0" elementFormDefault="qualified" attributeFormDefault="unqualified"
xmlns="http://www.myorg.com/xsd/gen_fin"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.myorg.com/xsd/gen_fin">
<xs:complexType name="response">
<xs:sequence>
<xs:element name="code" type="xs:string"/>
<xs:element name="description" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
Run Code Online (Sandbox Code Playgroud)
AccountList.xsd
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<xs:schema version="1.0" elementFormDefault="qualified" attributeFormDefault="unqualified"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:tns="http://www.myorg.com/xsd/accList"
targetNamespace="http://www.myorg.com/xsd/accList"
xmlns:common="http://www.myorg.com/xsd/gen_fin">
<xs:import namespace="http://www.myorg.com/xsd/gen_fin"
schemaLocation="/home/me/dev/projects/svn/myorg/xsd/src/main/resources/bg/gen_resp/common.xsd"/>
<xs:element name="fundamo">
<xs:complexType>
<xs:sequence>
<xs:element name="response" type="common:response" minOccurs="1" maxOccurs="1"/>
<xs:element name="transaction" type="tns:transaction" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="transaction">
<xs:sequence>
<xs:element name="transactionRef" type="xs:string"/>
<xs:element name="dateTime" type="xs:string"/>
<xs:element name="userName" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
Run Code Online (Sandbox Code Playgroud)
Test.java
final InputStream commonXsdStream …Run Code Online (Sandbox Code Playgroud) 我正在尝试运行简单的回显服务器进行性能测试。我出于我的目的设置了 netty4 tcp 端点和 ByteArrayDecoder。一切工作正常,但仅创建一个/一次 soket。当我想连接第二个客户端或重新连接第一个客户端时,我不断收到以下错误:
2015-12-03 14:58:08,218 | WARN | yServerTCPWorker | ChannelInitializer | 175 - io.netty.common - 4.0.27.Final | Failed to initialize a channel. Closing: [id: 0xe9f9fb16, /127.0.0.1:6056
3 => /127.0.0.1:1542]
io.netty.channel.ChannelPipelineException: io.netty.handler.codec.bytes.ByteArrayDecoder is not a @Sharable handler, so can't be added or removed multiple times.
at io.netty.channel.DefaultChannelPipeline.checkMultiplicity(DefaultChannelPipeline.java:464)[178:io.netty.transport:4.0.27.Final]
at io.netty.channel.DefaultChannelPipeline.addLast0(DefaultChannelPipeline.java:136)[178:io.netty.transport:4.0.27.Final]
at io.netty.channel.DefaultChannelPipeline.addLast(DefaultChannelPipeline.java:129)[178:io.netty.transport:4.0.27.Final]
at io.netty.channel.DefaultChannelPipeline.addLast(DefaultChannelPipeline.java:120)[178:io.netty.transport:4.0.27.Final]
at org.apache.camel.component.netty4.DefaultServerInitializerFactory.addToPipeline(DefaultServerInitializerFactory.java:118)[83:org.apache.camel.camel-netty4:2.16.0]
at org.apache.camel.component.netty4.DefaultServerInitializerFactory.initChannel(DefaultServerInitializerFactory.java:100)[83:org.apache.camel.camel-netty4:2.16.0]
at io.netty.channel.ChannelInitializer.channelRegistered(ChannelInitializer.java:69)[178:io.netty.transport:4.0.27.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRegistered(AbstractChannelHandlerContext.java:162)[178:io.netty.transport:4.0.27.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRegistered(AbstractChannelHandlerContext.java:148)[178:io.netty.transport:4.0.27.Final]
at io.netty.channel.DefaultChannelPipeline.fireChannelRegistered(DefaultChannelPipeline.java:734)[178:io.netty.transport:4.0.27.Final]
at io.netty.channel.AbstractChannel$AbstractUnsafe.register0(AbstractChannel.java:450)[178:io.netty.transport:4.0.27.Final]
at io.netty.channel.AbstractChannel$AbstractUnsafe.access$100(AbstractChannel.java:378)[178:io.netty.transport:4.0.27.Final]
at io.netty.channel.AbstractChannel$AbstractUnsafe$1.run(AbstractChannel.java:424)[178:io.netty.transport:4.0.27.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:357)[175:io.netty.common:4.0.27.Final]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:357)[178:io.netty.transport:4.0.27.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:111)[175:io.netty.common:4.0.27.Final] …Run Code Online (Sandbox Code Playgroud) 在调试过程中的某些时候,通过系统的信息我被迫观察进入系统的XML格式的数据.为此,我添加了用于记录XML内容的附加行,并且XML内容显示在日志中.
此时,系统开始产生将XML内容封送到XML对象的问题.
org.apache.camel.TypeConversionException: Error during type conversion from type: org.apache.camel.component.netty4.http.NettyChannelBufferStreamCache to the required type: com.company.product.customer.generated.XML with value org.apache.camel.
我认为系统中出现了一些新问题,甚至没有想到引入日志字段会引起一些麻烦.经过几个小时的战斗后,我决定删除日志行,它又开始无缝地工作了.
日志标记对正文消息有影响吗?为什么会这样?
<post uri="/requestXml"
type="com.company.product.customer.generated.XML"
outType="java.lang.String">
<description>Request</description>
<route>
<to uri="bean:authenticationService?method=checkUser"/>
<!--log loggingLevel="INFO" message="Incomming XML ${body}"/-->
<to uri="bean:messageTranslator?method=XMLRequestToConfiguration"/>
Run Code Online (Sandbox Code Playgroud) 目前我正在将图像从一台机器推送到另一台机器.它的成功我可以根据推送机器的HTTP状态或基于注册表服务器的日志来确定.此时我想搜索我服务器上的注册表中的实际内容.我到目前为止发现的是来自外部的API调用,即使你调用它,你也必须知道图像的确切名称及其标记方式.在我的情况下,当我可以直接访问它时,我只想登记我的注册表中当前的图像.我没有找到任何相关的命令.