我问的原因是因为HttpContext.Current.Items集合似乎是一个放置IDisposable对象的好地方,DataContext因此存储库可以透明地访问它,而不必将与特定ORM技术相关的任何依赖项注入存储库.这也将允许存储库决定是否参与UnitOfWork或承担实际持久存在任何更改的额外责任.
例如:
这页纸:
protected void Page_Load(...)
{
Items[KeyValueFromConfigurationFile] = new DataContext();
var repo = new Repository();
var rootEntity = repo.GetById(1);
}
Run Code Online (Sandbox Code Playgroud)
存储库:
public virtual TEntity GetById(int id)
{
var ctx = HttpContext.Current.Items[KeyValueFromConfigurationFile] as DataContext;
return ctx.TEntities.SingleOrDefault(p => p.Id == id);
}
Run Code Online (Sandbox Code Playgroud)
当然,我会检查空值并执行获取a所需的步骤,DataContext如果它在HttpContext.Current.Items集合中不可用.
所以,回到我原来的问题给出了上面的代码:请问HttpContext.Current与任何包含在其项集合对象的布置沿着即使抛出一个异常?
只是想知道是否可以在C++中声明枚举类型的函数
例如:
class myclass{
//....
enum myenum{ a, b, c, d};
myenum function();
//....
};
myenum function()
{
//....
}
Run Code Online (Sandbox Code Playgroud) 我试图访问位于我的网站外的文件夹中的图像.我试图通过放置../来超出我的文件夹,但这样做有误.我也尝试给出一个绝对路径,但是那里有空格(比如"文档和设置"),这也行不通
有人有想法吗?
我目前在PHP方面经验丰富,并在其中编写了多个应用程序.我知道HTML,CSS,MySQL和Javascript以及PHP.编程的下一步是什么?
(我知道有像Perl,C,Python这样的语言,但不确切地知道它们是基于Web的,基于桌面的等等)
更新
我的目标是学习足够的编程,我能够专业地编程.让我澄清一下,我15岁,编写了一些复杂的应用程序.我已经处理了面向对象的编程,但几乎没有涉及框架的使用.这是我接下来要做的事情吗?
Boo看起来像一种有趣的语言,但似乎只针对公共语言基础结构(CLI),AKA .NET实现 - 至少,我还没有找到任何其他实现,我特别喜欢JVM ,如果它存在.所以,我想我会仔细检查Stack Overflow - 是否有任何非CLI的Boo实现?
我写了一个非常简单的python类,它等待socket上的连接.目的是将此类添加到现有应用程序中,并将数据异步发送到连接客户端.
问题是当等待socket.accept()时,我无法通过按ctrl-c结束我的应用程序.我也无法检测到我的课程何时超出范围并通知它结束.
理想情况下,以下应用程序应在time.sleep(4)到期后退出.正如您在下面看到的,我尝试使用select,但这也会阻止应用程序响应ctrl-c.如果我能在主方法中检测到变量'a'超出范围,我可以设置退出标志(并减少select的超时以使其响应).
有任何想法吗?
谢谢
import sys
import socket
import threading
import time
import select
class Server( threading.Thread ):
def __init__( self, i_port ):
threading.Thread.__init__( self )
self.quitting = False
self.serversocket = socket.socket( socket.AF_INET, socket.SOCK_STREAM )
self.serversocket.bind( (socket.gethostname(), i_port ) )
self.serversocket.listen(5)
self.start()
def run( self ):
# Wait for connection
while not self.quitting:
rr,rw,err = select.select( [self.serversocket],[],[], 20 )
if rr:
(clientsocket, address) = self.serversocket.accept()
clientsocket.close()
def main():
a = Server( 6543 )
time.sleep(4)
if __name__=='__main__':
main()
Run Code Online (Sandbox Code Playgroud)
我目前正在创建博客系统,我希望将来可以变成一个完整的CMS.
有两个类/对象可用于全局访问(mysqli数据库连接和一个用于检查用户是否已登录的自定义类).
我正在寻找一种不使用全局对象的方法,如果可能的话,每次调用时都不会将对象传递给每个函数.
在我的C#项目中,我已经处理了解析SGML文件的任务,并且非常天真地尝试使用XmlReader,这引起了一些有趣的启示(即SGML和格式正确的XML之间的区别,等等)。 )
因此,我认为我只需要一个不错的SGML解析器,即可将其转换为XML文件并从那里进行。在搜索中,我找到了两个可以与C#项目集成的SGML解析器:
还有其他建议吗?
我正在寻找一种快速(如巨大的性能,而不是快速修复)解决方案,用于持久化和检索数以千万计的小型(约1k)二进制对象.每个对象应具有唯一的ID以供检索(最好是GUID或SHA).其他要求是它应该可以从.NET使用,它不需要额外的软件安装.
目前,我正在使用一个带有单个表的SQLite数据库来完成这项工作,但我想摆脱处理简单SQL指令的开销,例如SELECT data FROM store WHERE id = id.
我还测试了NTFS下的直接文件系统持久性,但是一旦达到数千万个对象,性能就会快速降低.
PS顺便说一下,对象永远不需要删除,插入率非常非常低.实际上,每次对象更改时,都会存储新版本,并保留以前的版本.这实际上是支持时间旅行的要求.
只需在此线程中添加一些其他信息:
BLOB或不BLOB:数据库或文件系统中的大对象存储http://arxiv.org/abs/cs.DB/0701168
我正在寻找组织良好的信息来源,关于如何使用即将推出的jsr166y(fork-join,fences)和extras166y(ParallelArray等) - 从教程到专家级别.
.net ×2
c# ×2
php ×2
boo ×1
c++ ×1
concurrency ×1
database ×1
datacontext ×1
fork-join ×1
global ×1
html ×1
idisposable ×1
java ×1
jvm ×1
linq-to-sql ×1
performance ×1
python ×1
sgml ×1
sockets ×1
sqlite ×1