从服务访问asp.net库时,如何启动当前httpcontext?

从服务访问asp.net库时,如何启动当前httpcontext?,.net,asp.net,vb.net,httpcontext,.net,Asp.net,Vb.net,Httpcontext,我有一个在服务器上编译的asp.net项目。在同一台服务器上,我有一个运行从asp.net.dll引用的方法的windows服务 除了需要访问httpcontext.current对象外,其他一切都正常工作 我相当确定.current为null的原因是它引用的是共享库,而没有实际运行的站点实例。在以前版本的服务中,我可以通过不使用上下文在asp.net中找到一个解决方法,但是现在这是最后的手段,因为网站的架构已经发生了很大的变化 是否仍有创建站点实例并为服务目的模拟当前httpcontext的方

我有一个在服务器上编译的asp.net项目。在同一台服务器上,我有一个运行从asp.net.dll引用的方法的windows服务

除了需要访问httpcontext.current对象外,其他一切都正常工作

我相当确定.current为null的原因是它引用的是共享库,而没有实际运行的站点实例。在以前版本的服务中,我可以通过不使用上下文在asp.net中找到一个解决方法,但是现在这是最后的手段,因为网站的架构已经发生了很大的变化


是否仍有创建站点实例并为服务目的模拟当前httpcontext的方法?

不是从windows服务。我认为正确的方法是创建一个Web服务来处理您需要asp.net的任何内容,并从您的windows服务调用该Web服务


此外,如果您发布了一些依赖于httpcontext.current的代码,则可能会找到替代方案(假设它们确实不依赖于请求/响应操作)。

ASP.NET框架实例化并管理HTTP上下文,并且在ASP.NET外部,该值将始终为空。你必须深入研究这个框架,找出如何创建它,但老实说,这不值得

但是,能否重新配置HttpContext引用以指向HTTpcontextbase?如果您这样做了,HttpContextBase是一个基类,任何人都可以继承它。很容易,你可以创建一个自定义的来实现你想要的。您甚至可以创建自己的static来包装HttpContext.Current,在应用程序中引用这个static,在服务中引用这个static(但是让服务最初实例化它)


HTH.

没有HttpContext,因为您不在http上下文中。没有持续的请求和响应,就windows服务而言,您甚至没有网站。您希望它如何工作?谢谢您的输入。我正在考虑向asp.net项目添加一个Web服务,并尝试以这种方式提取数据。这是您可以推荐的吗?HttpContext.Current可用于web请求,所以可以。我的解决方案是,如果你没有其他选择,需要离线做一些事情。按照@Patricker的建议使用web服务是可行的。好吧,我最后添加了一个web服务,一切都成功了。谢谢