小编Gin*_*eer的帖子

包含名称空间的XDocument

我有以下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?

c# xml linq linq-to-xml xml-namespaces

43
推荐指数
2
解决办法
5万
查看次数

将Open XML保存为PDF

作为对企业级服务器端文档生成的调查的一部分,我遇到了Open XML.

  1. 对于那些使用过这个的人来说,你有多成功?你会推荐吗?
  2. 您可以直接将OpenXML保存为PDF还是需要使用第三方组件?
  3. 如果需要第三方组件,您使用哪一个组件以及您推荐哪一个组件?

谢谢

Gineer

pdf-generation openxml

19
推荐指数
1
解决办法
6万
查看次数

企业,系统和应用程序架构(最佳实践?)

我目前的任务是为软件开发创建一个文档化,一致的架构指南.我们有很多聪明的人做正确的事情,但不是一贯和可重复的.

我们使用Microsoft的Application Architecture Guide 2.0作为起点.因此,提出一个应用程序架构是公平的(我不会轻易说)直接.可能是因为我有几年的开发经验,所以我对这个领域有很好的理解,并且还有大量的例子和指导.

由于我们的组织有几个应用程序构成一个或多个系统,然后我们"安装"在客户端......我们认为创建系统架构和企业架构也是有意义的.这就是问题开始的地方.

那里没有一致的指导.如果你搜索"系统架构示例",你得到的东西是如此不同,我想知道是否有"标准"方法来做到这一点.

从我(有限 - 清楚)对它的理解,系统架构是一个或多个应用程序架构的抽象,描述它们如何协同工作以形成一个系统.此外,企业架构是一个进一步的抽象,展示了您的系统如何适应组织企业以及它如何与业务流程,IT战略以及它如何集成到企业中的其他系统之间的交互.

  • 我完全错了吗?
  • 那里有没有标准(我在哪里可以找到它们)?
  • 是否应该有标准,或者"良好"的系统架构是否只是任何格式的文档,这些文档清晰易懂,对读者有用?
  • 经验丰富的建筑师会怎么想这种方法呢?

我不想简单地列出一组可能有用的SOA相关模式......我想让它更专注于我们的工作,即面向服务架构的构建财务解决方案.

更新:那么TOGAF(9) .有没有人有这方面的经验,是否值得努力尝试详细了解它.

architecture enterprise togaf

14
推荐指数
1
解决办法
6606
查看次数

前控制器与外墙模式

好吧,我已经在网上搜索了一下并发现了这个帖子,但它对我来说还是不太清楚.

前控制器模式和外墙模式之间究竟有什么区别?

据我所知到目前为止: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的忠实粉丝,因为它可以让所有低级别的东西更加受控制.因此,虽然它可能没有更多的意义,但这样做是否完全错误?如果是:为什么?

design-patterns

12
推荐指数
2
解决办法
2万
查看次数

为什么AND两个数字得到一个布尔值?

我正在开发一个基于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#?

c# vb.net digital

9
推荐指数
2
解决办法
3454
查看次数

C#中的简单3D渲染

我是一个视觉形象的人,如果我可以想象一些对我来说更有意义的东西.

有没有一种简单的方法来渲染3D数据以用于简单的可视化?我实际想做的是以下内容:

我有一个Int32的3维数组:

Int32[,,] data = new Int32[256,256,256];
Run Code Online (Sandbox Code Playgroud)

我用数据填充这个数组,基本上现在想要在3D空间中渲染它.X,Y和Z并在数据大于0的位置放置一个点

能够改变视角将是一个奖励,但不是必需的.

我没有足够深入地研究3D渲染,以便使用任何真正的3D引擎,因此越简单越好.

任何帮助,指针都会很好.

谢谢

c# 3d

6
推荐指数
1
解决办法
1万
查看次数

如何:避免IIS托管的WCF应用程序的冷启动问题?

我们有一个系统,我们在IIS中托管几个WCF应用程序.其中一些应用程序有一段延长的启动时间需要几秒钟(超过用户愿意等待的时间).一旦它启动并运行,一切都很快,所以它真的只是启动时间.

客户端还需要每晚回收应用程序池.

有没有办法唤醒所有这些服务,以便启动时间不是系统的第一个用户的问题?

初步想到在哪里编写一个Windows服务,每隔x(可配置)分钟就可以在每个服务上调用一个轻量级方法,以保持应用程序的活跃,但是因为我们处于负载平衡环境中,并且应用程序需要传递特定的主机头,我们总是会遇到负载均衡地址,这意味着我们无法确保群集中所有盒子上的所有服务都已实际启动.

由于IIS中的单个wcf应用程序只能有一个主机头,因此唯一的另一种方法是设置指向同一应用程序的第二个iis网站.我只是不确定这是否会成功,因为它将在另一个主机环境中.

另一种选择可能是在IIS或应用程序池实际再次启动时,可能会调用IIS的扩展(不确定是否可能),这可能会调用我们的每个服务.(当应用程序池已经回收但在第一个用户请求之前注意到的事情.

任何想法将不胜感激.

谢谢

Gineer

iis wcf

6
推荐指数
1
解决办法
2772
查看次数

为什么工厂模式的运作方式如何?

我从来没有真正看过工厂模式,今天决定花时间根据这篇文章(http://msdn.microsoft.com/en-us/library/ee817667.aspx)创建一个快速示例,最后让我的头围绕它.

源代码完美地安排在三个单独的程序集中,整齐地命名为Product,Factory和Client.

Factory模式的主要优点(据我所知)是从"Client"类抽象"product"类的实例化.因此,在提供的示例中,无论是否对产品类进行任何更改,Product实例化都不会更改,您仍然必须对客户端类进行更改以传递创建更新产品所需的新值.毕竟这个数据必须来自某个地方?

我读到的另一个例子表明,一旦实现了一个类并且其他类的负载直接使用它,在这里对"product"类所做的更改将需要对该类的每个实例化进行更改,例如,如果构造函数中需要新变量.

根据我的理解,Factory模式确保此类的实例化永远不会更改,如果要将新变量传递给product构造函数,您最终必须将这些新变量传递给更新的工厂.

因此,这显然不能解决问题,而只是移动它并且这样做会增加额外的复杂性.

鉴于这是一种既定的模式,我显然错过了一些东西.因此这篇文章:请向我解释我错过了什么.

谢谢

design-patterns factory-pattern

3
推荐指数
1
解决办法
1032
查看次数

Google 地球 - 富客户端还是富 Internet 架构?

谷歌地球胖客户端(富客户端)应用程序或富互联网应用程序?如果您阅读Microsoft 架构指南 2.0,他们似乎认为 GE 是胖客户端,以及未在 Web 浏览器或移动设备上呈现的任何应用程序?

我认为 GE 是 RIA 的一个完美例子,还有微软的 Virtual Earth (VE)(现在的 Bing Maps)。GE 不在浏览器中呈现的事实不应成为不使其成为 RIA 的定义特征。否则,胖客户端架构就必须扫得太多。

给我你的意见,并告诉我你为什么这么说。


另请参阅:是否应该在多层企业系统中使用 Rich Client Arch

architecture

1
推荐指数
1
解决办法
2343
查看次数

无法从'出双转换'?'双出'

我在我正在编写的应用程序中有以下代码部分:

    ...
    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.0

0
推荐指数
2
解决办法
4085
查看次数