小编Kan*_*ane的帖子

工作流程还是不工作流程?

我负责一群即将开始开发轻量级保险索赔系统的开发人员.该系统涉及许多手动任务和业务工作流程,我们正在寻找使用Windows Workflow(.NET 4.0).

业务域的示例如下:保单持有人致电联络中心提出索赔.这个"事件"触发两个子任务,这两个子任务是并行手动操作的,可能需要很长时间才能完成;

  1. 检查客户是否存在欺诈行为 - 操作员致电各信用公司以检查和评估欺诈客户的潜力的手动流程.从这里,子任务可以输入多个子状态(检查进度,参考检查失败,传递参考检查等)
  2. 将物品发送到维修中心 - 手动过程中,保单持有人提出索赔的物品将被送到维修中心进行修理.从这里,子任务可以输入许多子状态(等待修复,进行中,修复,发布等).只有在每个子任务的状态达到预定义状态(基于业务规则)后,才能继续声明.

从表面上看,Workflow似乎确实是最好的技术选择; 但是我对使用WF 4.0有一些顾虑.

  1. 技能组合 - 查看普通开发人员技能组合,我看不到很多了解或了解Workflow的开发人员.
  2. 可维护性 - 社区内对WF 4.0项目的支持似乎很少,而且缺乏技能组合引起了对可维护性的担忧.
  3. 进入障碍 - 我有一种感觉,Windows Workflow有一个陡峭的学习曲线,并不总是那么容易上手.
  4. 新产品 - 由于Workflow已经完全重写为.NET 4.0,我将该产品视为第一代产品,可能没有必要的稳定性.
  5. 声誉 - 以前版本的工作流程并不受欢迎,被认为难以开发并导致业务不佳.

所以我的问题是我们应该在这种情况下使用Windows Workflow(WF)4.0还是有替代技术(例如,简单状态机等)甚至是更好的工作流引擎?

c# workflow workflow-foundation-4 c#-4.0

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

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

Visual Studio命令窗口

Visual Studio中命令窗口的用处是什么(菜单视图 - > 其他Windows - > 命令窗口)?

我知道Visual Studio 命令窗口用于直接在IDE中执行命令或别名.MSDN文章命令窗口解释了如何使用命令窗口打印调试语句,但我觉得这些可以在立即窗口中更容易执行.

什么是命令窗口?

visual-studio

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

重构保护条款

人们采用什么方法(如果有的话)管理班级中的防护条款爆炸?例如:

public void SomeMethod<T>(string var1, IEnumerable<T> items, int count)
{
    if (string.IsNullOrEmpty(var1))
    {
        throw new ArgumentNullException("var1");
    }

    if (items == null)
    {
        throw new ArgumentNullException("items");
    }

    if (count < 1)
    {
        throw new ArgumentOutOfRangeException("count");
    }

    ... etc ....
}
Run Code Online (Sandbox Code Playgroud)

在我目前正在进行的项目中,有许多类在公共方法上具有类似的一组保护条款.

我知道.NET 4.0代码合同,但目前这不是我们团队的选择.

c# validation guard-clause

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

规范模式示例

在阅读了LosTechies.com的Chris Missal关于规范模式的一系列博客(这里这里)后,我真的很想找到更完整的例子.有谁知道我在哪里可以找到一个更加充实的例子,或者可能是一个使用这种模式的开源项目?

.net c# design-patterns specification-pattern

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

ASP.NET无法缓存空值

任何人都可以解释为什么你不能将空对象插入ASP.NET缓存?

string exampleItem = null;

HttpRuntime.Cache.Insert("EXAMPLE_KEY", 
                        exampleItem, 
                        Nothing,                           
                        DateTime.Now.AddHours(1),
                        System.Web.Caching.Cache.NoSlidingExpiration);
Run Code Online (Sandbox Code Playgroud)

异常错误消息指出"value"对象不能为null.在我的应用程序中,有充分的理由说明为什么我们想要在缓存中存储空值.

c# asp.net caching

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

C#检查远程服务器

如果有远程服务器,有人可以建议检查(使用.NET 3.5)的最佳方法吗?

我正在考虑使用以下代码,但想知道如果社区有另一种选择,是否存在更好的方法.

TcpClient client = new TcpClient("MyServer", 80);
if (!client.Connected)
{
    throw new Exception("Unable to connect to MyServer on Port 80");
}
client.Close();
Run Code Online (Sandbox Code Playgroud)

.net c#

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

学习WPF和MVVM

我最近加入了一个使用WPF和MVVM构建胖客户端应用程序的新开发项目.我已经开发了各种.NET框架中的应用程序,从1.1到3.5以及所有主要技术; WebForms,MVC和WinForms.在我的所有项目中,我都喜欢它的每一分钟,但在这个项目中,我觉得我很挣扎,因此不能享受它.当.NET 3.5在2008年问世时,我非常喜欢学习新的语言功能(LINQ,MVC,Lambda表达式等)并涉足WPF,所以请不要认为我反对学习新东西.

但是这个项目的学习曲线似乎非常陡峭,我觉得在WPF +应用程序之上学习MVVM有点令人生畏.虽然我只是在项目上工作了很短的时间(2周),但我真的很喜欢WPF,但却不喜欢MVVM模式.我不喜欢MVVM模式可能是因为我不太了解它而且我觉得我必须编写很多"非最佳实践"代码才能在WinForms时代做相对简单的事情.

所以我的问题是,是否有其他人遇到类似的情况,你是否坚持使用MVVM或进入另一个架构方向?

.net c# wpf mvvm

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

没有证书存储的WCF证书

我的团队正在为第三方胖客户端应用程序开发一些WPF插件.WPF插件使用WCF来使用由许多TIBCO服务发布的Web服务.胖客户端应用程序维护一个单独的中央数据存储,并使用专有API来访问数据存储.胖客户端和WPF插件将部署到10,000个工作站上.我们的客户希望保持在中央数据存储使用的胖客户端证书,使他们不必担心重新签发证书(当前再发行周期大约需要3个月),并有机会授权使用证书.所提出的体系结构在中央数据存储和TIBCO服务之间提供了一种形式的共享秘密/认证.

虽然我不一定同意所提议的架构,但我们的团队无法改变它并且必须使用所提供的内容.

基本上我们的客户希望我们在我们的WPF插件中构建一个机制,该机制从中央数据存储(基于该数据存储中的角色允许或拒绝)检索证书到内存然后使用证书创建SSL连接到TIBCO服务.不允许使用本地计算机的证书存储,并且在每个会话结束时丢弃内存版本.

所以,问题是没有人知道是否有可能通过在内存中的证书到WCF(.NET 3.5)的服务,为SSL传输层加密?

注意:我曾经问了一个类似的问题(这里),但后来删除了它并重新询问了更多信息.

c# ssl wcf certificate

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

更改存储过程是否会使缓存的执行计划失效?

执行ALTER PROCEDURE存储过程的语句是否导致该存储过程的所有缓存执行计划变为无效并在SQL Server 2008/2005中过期?

sql-server sql-server-2008 sql-execution-plan

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