我现在正在和MEF合作,但我正在寻找的答案可能与MEF无关 - 它都是依赖注入 - 我只是在这里使用MEF术语作为例子.
简短的背景故事,我在MSDN上阅读了这篇文章,重点是复合应用程序
在这个图中有三个东西,shell,应用程序服务和模块.这是一个复合应用程序.
alt text http://i.msdn.microsoft.com/cc785479.fig02(en-us).gif
我没有完全得到的是应用服务部分.什么是服务,它是什么样的?如何通过模块公开服务以及如何使用不同模块的服务?
我真的很想看到一些简洁的小代码示例,没有任何花哨的东西可以用来说明这一切是如何实现的(应用程序服务部分).
任何人都可以详细说明为什么你在动态菜单之类的每个动作上定义ViewData ["MenuData"]的原因?
我有一个简单的局部视图,它呈现一个菜单,我在一个母版页中渲染这个菜单.这对我来自ASP.NET WebForms是直观的,但是我填充菜单的唯一方法是传递ViewData ["MenuData"],但是我必须在每个控制器动作中执行此操作.它确实感觉有点愚蠢,我每次都必须定义这个视图数据.
在可测试性和ASP.NET MVC方面,我该如何处理?
ASP.NET运行时用于可以并行运行的短工作负载.我需要能够安排可能会或可能不会运行更长时间的定期事件和后台任务.
鉴于以上情况,我有以下问题需要处理:
我不相信在ASP.NET中运行此代码不是正确的做法,因为它将允许更简单的编程模型.但这样做会要求外部服务定期向应用程序发出请求,以便应用程序保持运行状态,并且所有后台任务都经过精心编程.如果发生意外错误,他们必须能够暂停和恢复他们的工作.
我目前的思路是这样的:
如果所有作业都在数据库中注册,则应该可以将数据库用作簿记机制.在出现错误的情况下,数据库将包含在给定的下一个机会时恢复操作所需的所有状态.
在这个问题上,我真的会对一些反馈/建议表示赞赏.我一直在考虑运行Windows服务并使用一些RPC解决方案,但它对我没有同样的吸引力.而且我会遇到很多部署问题,并且会将任务和代码交叉到多个应用程序中.由于我的业务需求,这不是最好的.
我希望浏览器反映一些其他URL,而不是用于创建请求的URL,但不需要往返服务器.
我也许会这样做:
POST /form HTTP/1.1
...
Run Code Online (Sandbox Code Playgroud)
...然后返回:
HTTP/1.1 200 OK
Location: /hello
Run Code Online (Sandbox Code Playgroud)
但这会导致重定向,浏览器会再次请求URL/hello.
我想告诉浏览器,虽然您刚发送的请求是POST/some_url,但我现在返回的实际资源实际上称为GET/hello/1,但没有预先形成往返.即位置:......
有没有办法用JavaScript或base =""属性做到这一点?这会告诉浏览器在我按F5(刷新)而不是发布提交警告时请求/ hello/1?
有没有办法配置SQL Server实例不允许更新数据库中插入的值?
例如,一旦插入,该值是固定的,该同一行中的其他列可以被更改,但该值仅被写入一次.
整理如何影响SQL Server的存储空间以及它如何影响Unicode和非unicode数据类型?
整理会影响Unicode存储吗?或者只管理数据库中的排序规则?
当我使用非unicode数据类型时,哪些restictions与整理有关?
如果限制适用,当我尝试存储不在非unicode数据类型的数据库排序规则中的字符时会发生什么?
我的理解是Unicode数据类型总是可以存储完整的Unicode数据集,而非unicode数据类型存储功能取决于代码页(由排序规则定义),并且只能代表其中的许多常见字符排序规则.
显然,Unicode数据类型中的每个字符至少占用2个字节,而非unicode数据类型占用每个字符1个字节(或者这也随着整理而变化?)
让我直接在这里,这是如何工作的?
词法分子如何解决这种模糊性?
/*/*/
Run Code Online (Sandbox Code Playgroud)
它是如何不只是说,哦,是的,这是一个多行评论的开始,接着是另一个多行评论.
一个贪婪的词法分析器不会只返回以下令牌吗?
我正在为CSS编写一个shift-reduce解析器,然而这个简单的注释事情就是我的方式.如果您不想获得更多背景信息,可以阅读此问题.
很抱歉首先将其删除.我打算在这个表单中添加CSS语言的扩展,/* @ func ( args, ... ) */但我不想混淆一个理解CSS但不是我的扩展注释的编辑器.这就是为什么词法分析者不能忽视评论.
为什么ExportLifetimeContext<T>存在?它是为了什么?为什么有必要在这个目标上调用Dispose?我真的需要打扰它吗?如果我不得不花时间思考资源管理,它感觉不到很好,对我来说感觉不太好.
这种处置是否与Value属性相关联?刚刚去的特定问题是CreateExport().Value什么?
我打算在ASP.NET中使用MEF,以寻找对CompositionContainer的线程安全性的一些了解.
我的第一种方法是将一个独特的CompositionContainer与每个请求相关联,但我担心这会很昂贵并且不能很好地扩展,另一方面,CompositionContainer通过构造函数中的简单标志支持线程安全操作.
我也考虑过混合方法,我可以使用一个线程安全的静态CompositionContainer和一个绑定到每个请求的方法.
除了线程安全参数之外,我在很大程度上依赖于ExportFactory来根据需要构建对象.虽然,我仍然被这个ExportLifeTimeContext事物窃听,但我不确定这种方法的资源需求.
有人对此有所了解吗?
我正在寻找两件事.第一个是术语.
我们称编译器将一种语言编译成另一种语言是什么?
其次,有没有编译器将通用组成语言X编译成可移植的C代码?
我只是把想法扔到那里,但我在想,如果我们为我们自己选择的语言创建了自己的前端,但是编译器发出了可移植的C代码,而不是全力以赴.这样,我们可以添加新的语言功能,但仍然与现有的C代码非常兼容.
现在也许这种方法存在一个巨大的缺陷(除了你需要建立它),但人们会这样做吗?
mef ×3
sql-server ×2
asp.net ×1
c ×1
c# ×1
collation ×1
dynamic-data ×1
http ×1
lexer ×1
redirect ×1
t-sql ×1
terminology ×1