Use Session state within pLinq queries

Posted by Dima on Stack Overflow See other posts from Stack Overflow or by Dima
Published on 2010-03-16T14:27:09Z Indexed on 2010/03/22 14:41 UTC
Read the original article Hit count: 605

Filed under:
|
|

Hi,

I have a fairly simple Linq query (simplified code):

dim x = From Product In lstProductList.AsParallel 
        Order By Product.Price.GrossPrice Descending Select Product

Product is a class. Product.Price is a child class and GrossPrice is one of its properties. In order to work out the price I need to use Session("exchange_rate").

So for each item in lstProductList there's a function that does the following:

NetPrice=NetPrice * Session("exchange_rate")

(and then GrossPrice returns NetPrice+VatAmount)

No matter what I've tried I cannot access session state.

I have tried HttpContext.Current - but that returns Nothing. I've tried Implements IRequiresSessionState on the class (which helps in a similar situation in generic http handlers [.ashx]) - no luck.

I'm using simple InProc session state mode. Exchange rate has to be user specific.

What can I do?

I'm working with: web development, .Net 4, VB.net


Step-by-step:
page_load (in .aspx)
dim objSearch as new SearchClass()
dim output = objSearch.renderProductsFound()

then in objSearch.renderProductsFound:
lstProductList.Add(objProduct(1))
...
lstProductList.Add(objProduct(n))

dim x = From Product In lstProductList.AsParallel
Order By Product.Price.GrossPrice Descending Select Product

In Product.Price.GrossPrice Get :
return me.NetPrice+me.VatAmount

In Product.Price.NetPrice Get:
return NetBasePrice*Session("exchange_rate")

Again, simplified code, too much to paste in here. Works fine if I unwrap the query into For loops.

© Stack Overflow or respective owner

Related posts about LINQ

Related posts about PLINQ