我是WCF的新手.我很确定它会像常规的Web服务一样工作 - 而且我也很确定我也做错了,但现在我想确保我做得对.
我们的ASP.Net应用程序通过互联网连接到WCF服务.我已经实现了基本的安全性并使用了SSL.它工作正常,但比我们定期进行Web服务时要慢.返回的数据基本上与常规Web服务相同.
当我使用常规Web服务时,无论何时我需要获取数据,我都会创建一个新的服务对象并为我需要的数据调用函数.这似乎工作正常,但正如我想象的那样,不是最好的方法,特别是如果有成千上万的用户同时连接.因此,当我转换为WCF时,我决定保持一个客户端打开,并且只为连接到该站点的每个人使用它.我把它放在缓存中,当缓存转储对象时,我有一个回调函数来处理它.
现在我甚至都没想过,直到我改变这一切之后,这可能会给多人连接造成问题.如果人A请求数据,则人B必须等待其完成才能通过服务获取他们的数据.
所以我把它改成了基于会话的.我要么实施了这个错误,要么只是适得其反,因为它根本不能正常工作.客户端会超时,导致故障,或者只是不能正常工作.我把它改回原来的缓存,似乎工作正常(除了慢).
这种情况的"最佳实践"是什么?我是否需要在需要时动态创建客户端,创建一个基于会话(并弄清楚我做错了什么),或保持原样并使用一个客户端缓存方法?
我们刚刚从我们的小团队从TFS切换到Mercurial.3人工作的主要项目是C#中的Windows窗体应用程序.每次使用设计器时,即使是简单的更改,它也会进行大量的重新排列并更改为.Designer文件.如果两个人在这个文件上工作,即使进行简单的更改,合并也是绝对的噩梦.有没有简单的方法来解决这个问题?在TFS中,我们关闭了并发编辑,因此我们没有遇到此问题.
我正在创建一个简单的测试应用程序,因此我可以看到ASP.Net MVC如何适用于我们每天处理的内容.我们使用Developer's Express的第三方控件,我们将继续使用它们.如果他们绝对不能在ASP.Net MVC中工作,那么我们就不会使用ASP.Net MVC.
话虽如此,有人找到了一种方法让它发挥作用.他只需要在代码中加入一些代码.他必须覆盖OnLoad事件,只需将grid.DataSource = model和grid.DataBind()放在一起就可以正常工作了.
在ASP.Net MVC RC中,消除了代码隐藏文件.我知道我可以把它们放回去......但是,由于人们通常说文件背后的代码是邪恶的,你还能做到这一点吗?
asp.net ×2
.net ×1
asp.net-mvc ×1
associations ×1
code-behind ×1
mercurial ×1
merge ×1
wcf ×1
winforms ×1