我一直在阅读MSDN,强名称程序集和相关的Stack Overflow问题中的正确文章,检查程序集的强名称.
第一个问题出现在阅读CSharp411文章.NET程序集常见问题 - 第3部分 - 强名称和签名之后,其中提到了这一点,以及使用强名称的其他问题:
" 无法完全替换.强名称不能阻止黑客删除强名称签名,恶意修改程序集,用自己的密钥重新签名,然后将你的程序集作为你的程序. "
第二个问题旨在找出强命名和其他签名方案之间的差异,例如Authenticode.同样的MSDN文章提到了早期的状态:
"但请注意,强名称本身并不意味着一定程度的信任,例如通过数字签名和支持证书提供的信任. "
我是否尝试使用强命名,而不是创建它?创建强命名是为了避免名字冲突还是一种新的"GAC DLL Hell"?
正如你可能已经知道,.NET框架的内部保护的访问修饰符工作在一种奇怪的方式:这并不意味着类是保护 和 内部,它说,类保护 或 内部 ; 也就是说,可以从同一程序集中以及从同一层次结构中访问修改后的类或成员.
所以,知道这个:你什么时候使用它?你能给我举个例子吗?.NET基类库中是否有一个很好的,有启发性的用法示例?
我正在开发一个使用大量AJAX与服务器通信的网页.反过来,服务器具有广泛的REST/JSON API,公开Web客户端调用的不同操作.
匿名用户和经过身份验证的用户都使用此Web站点.正如您所料,经过身份验证的用户发出的Web服务调用需要身份验证,因此可以防止未经授权的用户或应用程序.
但是,该网站具有许多不需要身份验证的功能,其中一些功能使用匿名Web服务.我用来阻止外人调用此Web服务的唯一方法是使用CSRF令牌.我知道,CSRF令牌在这方面并不是很有用......有了一些时间,即使他们使用CSRF令牌,您也可以弄清楚如何使用Web服务.
当然,您可以使用CAPTCHA来防止应用程序或机器人自动使用您的Web服务.但是,任何人都可以使用它.
另一方面,在客户端和服务器之间共享密钥将是无用的.这是因为任何局外人都有能力从网页源代码中读取它.
我想使这些Web服务难以调用为任何第三方应用程序.除了使用CSRF令牌,你会做什么?这听起来有点愚蠢,但嘿,也许这是愚蠢的,我只是在浪费我的时间.
注意:鉴于此应用程序使用浏览器而不是"可执行文件"作为客户端,此问题与讨论无关.我不能在服务器和客户端之间使用秘密(至少我不知道)
不仅仅是关于LINQ [在这里插入您最喜欢的提供者],这个问题是关于搜索或过滤内存中的集合.
我知道LINQ(或搜索/过滤扩展方法)适用于实现IEnumerable或的对象IEnumerable<T>.问题是:由于枚举的性质,每个查询的复杂性至少为O(n)?
例如:
var result = list.FirstOrDefault(o => o.something > n);
Run Code Online (Sandbox Code Playgroud)
在这种情况下,除非按顺序排序,否则每个算法至少需要O(n),在这种情况下,搜索应采用O(log(n)):它应该是二进制搜索.但是,如果我理解正确,这个查询将通过枚举来解决,所以它应该采用O(n),即使以前订购过.list'something'list
注意:如果您熟悉Azure定价模型,请跳转到"问题"部分.
从2010年2月1日开始,Microsoft将开始收取使用Azure平台的费用.每月账单将取决于带宽,存储和其他因素.用于计算账单的因素之一是计算时间.然而,后一个因素具有误导性的名称:它应该被命名为实例托管时间.引用windows azure定价页面:
在开发和测试应用程序时,开发人员将希望删除未用于最小化计算小时计费的计算实例
因此,您认为这不是计算时间,而是正常运行时间,您需要支付的费用.在MSDN论坛中阅读官方对此问题的回复后,疑问完全消失:
我可以确认每个实例(任何角色)都是重要的,并且您拥有实例活动计数的所有时间(无论他们有多少"活动").如果应用程序具有两个Web角色实例和两个辅助角色实例,则将为四个实例付费
每个实例每小时0.12美元,使用N个实例的应用程序将按每个实例的平均24*30*0.12*N /月=〜$ 86 /月计费.如果您希望99.9%的正常运行时服务水平协议适用,那么当您考虑到不能少于2个实例的事实时,小网站的情况就会恶化.
因此,一个小型,计算能力低廉的网站可能不是Azure的目标市场.但对于批处理过程,负担可能会消失.
题
仅就计算能力和"计算小时"计费而言,Azure是一个很好的托管选项,适用于每月只运行几个小时的批处理流程,当且仅当您可以扩展(和缩小!)数量时实例很容易.所以:
关于后一个问题:假设你有大量实例(比如1000)运行45分钟的极端情况.如果Azure在流程结束后的15分钟内无法注意到缩小,则将向您收取另外1000个计算时间的费用.
这个问题打算与技术无关.您更喜欢哪种Web框架,何时:纯MVC或事件驱动的组件导向?
为了说明"技术不可知论",我在这里用不同的技术/语言命名了一些MVC与组件Web框架:
我有一个订单表。该表属于多租户应用,因此同一表中存在来自多个商家的订单。该表存储了数亿条记录。这个问题有两个相关的列:
我想知道是否有一个有效的索引来执行以下操作:
SELECT * FROM <table> WHERE TransactionID = 'ff089f89feaac87b98a' AND MerchantID = 24更多信息:
oracle indexing database-design hashmap database-performance
.net ×2
ajax ×1
assemblies ×1
azure ×1
batch-file ×1
c# ×1
cloud ×1
hashmap ×1
indexing ×1
ios ×1
linq ×1
obfuscation ×1
oracle ×1
performance ×1
security ×1
strongname ×1
web-services ×1