注意:当我提到tier时,我的意思是物理层.本网站上有关"层级"的许多问题都是指逻辑层,这不是我所要求的.
我正在使用标准的"3层"架构设计应用程序,包括演示,业务逻辑(BLL)和数据访问(DAL)层.该技术是WPF,C#,LINQ和SQL Server 2008.我的问题涉及这个应用程序的物理架构.
我可以将BLL/DAL放在一个标准的DLL中,该DLL在用户机器上加载并运行,形成一个2层架构 - 客户端机器和数据库服务器.但是将BLL/DAL转换为位于应用服务器上并从用户机器调用的WCF服务并不困难.这将给我一个3层架构 - 客户端机器,应用服务器和数据库服务器.
我的问题是 - 使用3层架构有什么好处?我经常被告知3层增加了可扩展性,但对我来说并不是很明显为什么会这样.当然,你要用同样的数据来打击性能,必须通过线路进行两次跳 - 从数据库服务器到应用服务器,然后从应用服务器到客户端机器.
我很感激有经验的建筑师和开发人员的建议.
我正在设置桌面WPF应用程序,我的BLL在单独的应用程序服务器上作为WCF服务运行.我想设置一个服务器场并对BLL进行负载平衡.建议的方法是什么?WCF是否包含有助于负载平衡的任何功能?
我注意到你只能异步调用Silverlight的WCF服务.这似乎是一个非常合理的做法,特别是在通过互联网部署时,但我想知道为什么这个限制已经放在架构上.这纯粹是为了执行良好做法,还是有技术原因?
将LINQ2SQL表复制到ADO.NET DataTable的最简单方法是什么?
我领导着一个由六名程序员组成的团队,目前我们正在实施一些敏捷开发实践.我对Scrum非常感兴趣,但它似乎假设您的项目将有多个开发人员.我的大多数项目都较小,涉及一个开发人员.我们随时可以并行运行3到4个这样的项目.
通过阅读Schwaber,Scrum的许多好处似乎来自团队自组织以完成复杂的任务.如果你有一个开发人员完成所有的工作,Scrum会提供很多价值吗?
我的公司正在评估CSLA.NET作为我们所有.NET企业应用程序开发的可能标准框架.为了便于比较,任何人都可以在这个领域推荐一些替代框架吗?
我正在为自己和我的开发团队寻找一本关于Silverlight 3的好书.我们都是经验丰富的.NET开发人员,但几乎没有接触过Silverlight.
Silverlight.Net上的这个站点列出了以下有关Silverlight 3开发的书籍 -
Silverlight 3 Programmer's Reference由J. Ambrose Little,Jason Beres,Grant Hinkson和Devin Rader撰写
由Robert Lair开始Silverlight 3
由David Yack开发的Silverlight 3 Jumpstart
Michael Snow的Silverlight游戏编程
介绍Laurence Moroney的Microsoft Silverlight 3
由Matthew MacDonald创作的C#Silverlight 3
由Jeff Scanlon和Ashish Ghoda加速Silverlight 3
Ashraf Michail的Essential Silverlight 3
我希望对每一个和一些总体建议得到一些评论.
请注意,之前关于Silverlight书籍的SO问题都是关于Silverlight 2的.
我刚刚发现了微软新的以Silverlight为中心的RAD工具Visual Studio LightSwitch.
这是否与WCF RIA服务占用相同的空间?
WCF RIA是否真的死了?
我在VS 2012 RC下使用Intranet模板进行MVC 4.右上角显示domain\username,我希望它显示全名.
我能够在_Layout.cshtml中使用它.我在身体中加入了以下助手 -
@helper AccountName()
{
using (var context = new System.DirectoryServices.AccountManagement.PrincipalContext(System.DirectoryServices.AccountManagement.ContextType.Domain))
{
try
{
var principal = System.DirectoryServices.AccountManagement.UserPrincipal.FindByIdentity(context, User.Identity.Name);
@String.Concat(principal.GivenName, " ", principal.Surname)
}
catch { }
}
}
Run Code Online (Sandbox Code Playgroud)
(我还必须在参考文献中包含System.DirectoryServices.AccountManagement)
然后,我可以在问候代码中使用帮助程序,如下所示 -
<section id="login">
Hello, <span class="username">@AccountName()</span>!
</section>
Run Code Online (Sandbox Code Playgroud)
这工作正常,但我不喜欢在_Layout.cshtml中使用代码.我试图将帮助程序放在Helpers目录下的单独文件中,但@AccountName()不再解析.理想情况下,代码应该是一个直接的CS文件.
任何人都可以提出更好的方法来设置它吗?
.net ×2
c# ×2
silverlight ×2
sql-server ×2
wcf ×2
ado.net ×1
architecture ×1
asp.net-mvc ×1
asynchronous ×1
enterprise ×1
frameworks ×1
linq-to-sql ×1
performance ×1
scrum ×1
t-sql ×1