我有以下XML,我试图用XDocument查询:
<E2ETraceEvent xmlns="http://schemas.microsoft.com/2004/06/E2ETraceEvent">
<System xmlns="http://schemas.microsoft.com/2004/06/windows/eventlog/system">
<EventID>589828</EventID>
<Type>3</Type>
<SubType Name="Information">0</SubType>
<Level>8</Level>
<TimeCreated SystemTime="2010-06-01T09:45:15.8102117Z" />
<Source Name="System.ServiceModel" />
<Correlation ActivityID="{00000000-0000-0000-0000-000000000000}" />
<Execution ProcessName="w3wp" ProcessID="5012" ThreadID="5" />
<Channel />
<Computer>TESTSERVER3A</Computer>
</System>
<ApplicationData>
<TraceData>
<DataItem>
<TraceRecord xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord" Severity="Information">
<TraceIdentifier>http://msdn.microsoft.com/en-GB/library/System.ServiceModel.Activation.WebHostCompilation.aspx</TraceIdentifier>
<Description>Webhost compilation</Description>
<AppDomain>/LM/W3SVC/257188508/Root-1-129198591101343437</AppDomain>
<Source>System.ServiceModel.Activation.ServiceParser/39498779</Source>
<ExtendedData xmlns="http://schemas.microsoft.com/2006/08/ServiceModel/StringTraceRecord">
<VirtualPath>/Service.svc</VirtualPath>
</ExtendedData>
</TraceRecord>
</DataItem>
</TraceData>
</ApplicationData>
</E2ETraceEvent>
Run Code Online (Sandbox Code Playgroud)
除非我手动删除命名空间,否则执行以下代码会为xEl1返回null :
XDocument xDoc = XDocument.Parse(CurrentString);
XElement xEl1 = xDoc.Element("E2ETraceEvent");
XElement xEl2 = xEl1.Element("System");
XElement xEl3 = xEl2.Element("Correlation");
XAttribute xAtt1 = xEl3.Attribute("ActivityID");
String sValue = xAtt1.Value;
Run Code Online (Sandbox Code Playgroud)
你如何编写代码来提取XDocument中的Guid?
作为对企业级服务器端文档生成的调查的一部分,我遇到了Open XML.
谢谢
Gineer
我目前的任务是为软件开发创建一个文档化,一致的架构指南.我们有很多聪明的人做正确的事情,但不是一贯和可重复的.
我们使用Microsoft的Application Architecture Guide 2.0作为起点.因此,提出一个应用程序架构是公平的(我不会轻易说)直接.可能是因为我有几年的开发经验,所以我对这个领域有很好的理解,并且还有大量的例子和指导.
由于我们的组织有几个应用程序构成一个或多个系统,然后我们"安装"在客户端......我们认为创建系统架构和企业架构也是有意义的.这就是问题开始的地方.
那里没有一致的指导.如果你搜索"系统架构示例",你得到的东西是如此不同,我想知道是否有"标准"方法来做到这一点.
从我(有限 - 清楚)对它的理解,系统架构是一个或多个应用程序架构的抽象,描述它们如何协同工作以形成一个系统.此外,企业架构是一个进一步的抽象,展示了您的系统如何适应组织企业以及它如何与业务流程,IT战略以及它如何集成到企业中的其他系统之间的交互.
我不想简单地列出一组可能有用的SOA相关模式......我想让它更专注于我们的工作,即面向服务架构的构建财务解决方案.
更新:那么TOGAF(9) .有没有人有这方面的经验,是否值得努力尝试详细了解它.
好吧,我已经在网上搜索了一下并发现了这个帖子,但它对我来说还是不太清楚.
前控制器模式和外墙模式之间究竟有什么区别?
据我所知到目前为止:Façade模式不包含任何业务逻辑,只是集中访问多个对象.
前端控制器执行相同的操作,但可能包含业务逻辑,以便根据输入数据等方式调用所调用的内容.
要理解这一点,以下简单的伪代码片段是否意味着drawLine是一个Façade来简化将坐标转换为点然后实现实际完成工作的draw方法?
private void drawLine(Int32 StartX, Int32 StartY, Int32 EndX, Int32 EndY)
{
Point Start = new Point(StartX, StartY);
Point End = new Point(EndX, EndY);
Draw(Start, End);
}
Run Code Online (Sandbox Code Playgroud)
Façade可以调用应用程序的较低层,还是仅仅集中访问同一层上的许多组件?
据我了解,前端控制器协调完整的函数调用过程.
示例:Front控制器将检查数据,然后决定要采取的操作.然后,它将为每个后续调用较低级别的类编译数据,直到它到达可以提供给调用系统的合适响应.
我认为我对外墙模式的理解是错误的或过于简单化.如果我错了,请纠正我.
如果我对此的理解是正确的,那么将应用程序外观更改为Microsoft应用程序架构指南2.0中的前端控制器会更有意义吗?我在第18章中特别关注服务架构.(虽然我有Beta 2版本)
更新:感谢Rune的响应.为什么说将Facade更改为Front控制器是不正确的?我是Front-controller的忠实粉丝,因为它可以让所有低级别的东西更加受控制.因此,虽然它可能没有更多的意义,但这样做是否完全错误?如果是:为什么?
我正在开发一个基于Velleman k8055板的小型硬件接口项目.
示例代码来自VB.Net,我将其重写为C#,主要是为了有机会逐步完成代码并理解它.
有一件事令我感到困惑:
在一个阶段,他们读取所有数字输入,然后根据读取的数字输入(以整数形式返回)的答案设置一个复选框,然后将它们与一个数字对应:
i = ReadAllDigital
cbi(1).Checked = (i And 1)
cbi(2).Checked = (i And 2) \ 2
cbi(3).Checked = (i And 4) \ 4
cbi(4).Checked = (i And 8) \ 8
cbi(5).Checked = (i And 16) \ 16
Run Code Online (Sandbox Code Playgroud)
我有一段时间没有完成数字系统,我明白他们想要做什么,但它对两个数字有什么影响?0以上的一切都不等于真吗?
你会如何将其翻译成C#?
我是一个视觉形象的人,如果我可以想象一些对我来说更有意义的东西.
有没有一种简单的方法来渲染3D数据以用于简单的可视化?我实际想做的是以下内容:
我有一个Int32的3维数组:
Int32[,,] data = new Int32[256,256,256];
Run Code Online (Sandbox Code Playgroud)
我用数据填充这个数组,基本上现在想要在3D空间中渲染它.X,Y和Z并在数据大于0的位置放置一个点
能够改变视角将是一个奖励,但不是必需的.
我没有足够深入地研究3D渲染,以便使用任何真正的3D引擎,因此越简单越好.
任何帮助,指针都会很好.
谢谢
我们有一个系统,我们在IIS中托管几个WCF应用程序.其中一些应用程序有一段延长的启动时间需要几秒钟(超过用户愿意等待的时间).一旦它启动并运行,一切都很快,所以它真的只是启动时间.
客户端还需要每晚回收应用程序池.
有没有办法唤醒所有这些服务,以便启动时间不是系统的第一个用户的问题?
初步想到在哪里编写一个Windows服务,每隔x(可配置)分钟就可以在每个服务上调用一个轻量级方法,以保持应用程序的活跃,但是因为我们处于负载平衡环境中,并且应用程序需要传递特定的主机头,我们总是会遇到负载均衡地址,这意味着我们无法确保群集中所有盒子上的所有服务都已实际启动.
由于IIS中的单个wcf应用程序只能有一个主机头,因此唯一的另一种方法是设置指向同一应用程序的第二个iis网站.我只是不确定这是否会成功,因为它将在另一个主机环境中.
另一种选择可能是在IIS或应用程序池实际再次启动时,可能会调用IIS的扩展(不确定是否可能),这可能会调用我们的每个服务.(当应用程序池已经回收但在第一个用户请求之前注意到的事情.
任何想法将不胜感激.
谢谢
Gineer
我从来没有真正看过工厂模式,今天决定花时间根据这篇文章(http://msdn.microsoft.com/en-us/library/ee817667.aspx)创建一个快速示例,最后让我的头围绕它.
源代码完美地安排在三个单独的程序集中,整齐地命名为Product,Factory和Client.
Factory模式的主要优点(据我所知)是从"Client"类抽象"product"类的实例化.因此,在提供的示例中,无论是否对产品类进行任何更改,Product实例化都不会更改,您仍然必须对客户端类进行更改以传递创建更新产品所需的新值.毕竟这个数据必须来自某个地方?
我读到的另一个例子表明,一旦实现了一个类并且其他类的负载直接使用它,在这里对"product"类所做的更改将需要对该类的每个实例化进行更改,例如,如果构造函数中需要新变量.
根据我的理解,Factory模式确保此类的实例化永远不会更改,如果要将新变量传递给product构造函数,您最终必须将这些新变量传递给更新的工厂.
因此,这显然不能解决问题,而只是移动它并且这样做会增加额外的复杂性.
鉴于这是一种既定的模式,我显然错过了一些东西.因此这篇文章:请向我解释我错过了什么.
谢谢
是谷歌地球胖客户端(富客户端)应用程序或富互联网应用程序?如果您阅读Microsoft 架构指南 2.0,他们似乎认为 GE 是胖客户端,以及未在 Web 浏览器或移动设备上呈现的任何应用程序?
我认为 GE 是 RIA 的一个完美例子,还有微软的 Virtual Earth (VE)(现在的 Bing Maps)。GE 不在浏览器中呈现的事实不应成为不使其成为 RIA 的定义特征。否则,胖客户端架构就必须扫得太多。
给我你的意见,并告诉我你为什么这么说。
我在我正在编写的应用程序中有以下代码部分:
...
String[] Columns = Regex.Split(CurrentLine, Delimeter);
Nullable<Double> AltFrom;
...
if (AltFrom == null)
{
Double.TryParse(Columns[LatIndex].Trim(), out AltFrom);
}
...
Run Code Online (Sandbox Code Playgroud)
if子句中的行不会编译并显示错误:无法从'out double?'转换 '双出'
如果我不使AltFrom成为Nullable类型而是明确地将其声明为Double,那么一切都很愉快.
当然这是有效的代码.这只是c#中的一个错误还是我做错了什么?
c# ×3
architecture ×2
3d ×1
c#-3.0 ×1
digital ×1
enterprise ×1
iis ×1
linq ×1
linq-to-xml ×1
openxml ×1
togaf ×1
vb.net ×1
wcf ×1
xml ×1