C#: Adding Context To Parallel.ForEach()?

Sep 24, 2010

I have a static class with a static get property, and in this property, I do this:

// property body
{
// HttpContext.Current is NOT null
Parallel.ForEach(files, file =>
{
// HttpContext.Current is null
var promo = new Promotion();
});
// HttpContext.Current is NOT null
}

This static class doesn't undergone type initialization until a view uses this property.

The problem is that Promotion's static constructor, which is initialized the first time a new Promotion() is created within the Parallel.ForEach(), uses HttpContext.Current. When promo is instantiated within the scope of this Parallel.ForEach(), HttpContext.Current is null, and new Promotion() therefore causes an exception.

HttpContext.Current is not null within the static get property because it's not called until the view uses it (and there is therefore a HttpContext.Current).

If Promotion used HttpContext.Current in its instances instead of its static members, I could probably just pass HttpContext.Current into the new Promotion() constructor:

var context = HttpContext.Current;
Parallel.ForEach(files, file =>
{
var promo = new Promotion(context);
});

But since static members of Promotion need HttpContext.Current, I can't. I could probably redesign the Promotion class to change the static members that need it to be instance members, but they are static for a reason--there would be a large performance penalty if all the members that were static had to be defined instead on each instance each time a new Promotion was instantiated.

What are the possible workarounds for this? I didn't realize HttpContext.Current would be null within the scope of Parallel.ForEach().

View 2 Replies


Similar Messages:

Configuration :: Adding Values To A Config File With Foreach Loop From Sql Database?

Sep 2, 2010

I have added the below tag in my web.config file;

<RewriterConfig configSource="configuration
ewriter.config"/>

It gets the rewrite vlues from another config file. I need to update this rewriter.config file dynamically.

I need to gets values inside it from sql databse. here is the look of the file

<?xml version="1.0"?>

View 3 Replies

Adding HtmlHead Cause Error On Rendering - Request Is Not Available In This Context?

Nov 8, 2010

Before the execution of "head.Controls.Add(title)":

1 - When I watch "head" it shows - "{InnerText = ""}"

2 - When I watch "title" it shows - "{System.Web.UI.HtmlControls.HtmlTitle}"

After the exectuion of head.Controls.Add(title)":

When I watch "head" it shows "{InnerText = (InnerText) threw an exception of type ystem.Web.HttpException.}"

This cause error "Request is not available in this context" when line "page.RenderControl(htw)" is executed.

When I exclude the lines "Dim head As HtmlHead = buildHeadControl()" & "page.Controls.Add(head)", the "page.RenderControl(htw)" succeeds

What is the problem and how to fix it?

[Code]....

[Code]....

[Code]....

[Code]....

View 2 Replies

Architecture :: DAL As Web Service - Adding A Service Reference To Project And Then Using The EF4 Context And Writing LINQ Queries Against The DB?

Feb 10, 2011

I'm currently trying to work out the best way to build this web application, which will then be intergrated on other systems, such as WinForms, Intranets etc.

We hope to include the usual layers i.e. DAL, BLL, BOL and UI but I have been experimenting with Entity Framework 4 and WCF Data Services and managed to get something in place where I was using WCF as a gateway to EF4.

i.e. Adding a Service Reference to my project and then using the EF4 context and writing LINQ queries against the DB

e.g.[Code]....

Now with the current setup I would still need to write a DAL Class Library, that interacts with the Data Service, because as I said WCF Data Services only seems to be a gateway, I can't see where to put the code (above) in the Data Service and then how I could these methods.

My questions are: 1. How do I develop a WCF Data Service in such a way to allow this behaviour - I know how I could do it using ASMX web service, something like [Code]....

2. If I am to use WCF Data Services, how is serialization handled (if at all) - again I know how to do something in ASMX web services

3. Again, If I am to use WCF, how do I add Security and only allow my applications to access the web service - for obvious reasons

4. Would it be possible / logical to also include the Business Logic Layer into the web service?

View 4 Replies

How Parallel Requests Are Processed?

Oct 21, 2010

Let's imaging there are 2 pages on the web site: quick and slow. Requests to slow page are executed for a 1 minute, request to quick 5 seconds.Whole my development career I thought that if 1st started request is slow: he will do a (synchronous) call to DB... wait answer... If during this time request to quick page will be done, this request will be processed while system is waiting for response from DB.[URL] One instance of the HttpApplication class is used to process many requests in its lifetime. However, it can process only one request at a time. Thus, member variables can be used to store per-request data.Does it mean that my original thoughts are wrong?Could you please clarify what they mean? I am pretty sure that thing are as I expect...

View 2 Replies

How To Perform Parallel Processing

Feb 19, 2011

I have windows service which need to execute around 10000 schedules (need to send/execute data to all the members).

For one member it's taking 3 to 5 seconds for 10000 schedules it's taking around 10 minutes or so..

But I need to execute all these schedules in one minutes.

View 1 Replies

C# - AsParallel() - With More Than 2 Threads In Parallel?

Feb 21, 2011

I have a method that I call 8 times with different parametres.I use

AvailableYears.AsParallel()
.Select<Int32,DateUsedByThread>(x => GetDataForYearWorker(x,CIF))
.ToList();

GetDataForYearWorker gets the response from a webservice synchronously. It uses very little computing power on my asp.net application, but it ussualy takes 3-5 sec for each webservice response. Because the calls to the webservice are independent of eachother, I want to make tham all at the same time. But it looks like only 2 threads can run at the same time. Why is this and how can I have 8 threads working at the same time?

View 1 Replies

Options For Enabling Parallel Processing

Mar 11, 2011

It seems that by default, ASP.NET 3.5 running on IIS 6.0 does not do any parallel processing whatsoever. With a quad-core system and a test webforms application that runs an infinite while loop on the server, CPU usage never goes higher than 30% regardless of how many clients are connected and independently running the while loop.What are my options for enabling parallel processing?

View 2 Replies

Web Forms :: IFrames Not Executing In Parallel?

Aug 2, 2010

We are using 6 iFrames on our page. They fetch data from couple of external web services and an internal WCF service and display the data. There is a separate aspx page built for each of the iFrames. From our perf monitoring we found out that at any point only two threads are executing in parallel. Not all 6 threads get executed. What can probably be cause for this? Is there any restriction that more than 2 threads can't be created in parallel? Is there any configuration where I can change this?

View 3 Replies

C# - Throttle Parallel Request To Remote Api?

Jul 14, 2010

I'm working on an ASP.NET MVC application that uses the Google Maps Geocoding API. In a single batch there may be upto 1000 queries to submit to the Geocoding API, so I'm trying to use a parallel processing approach to imporove performance. The method responsible for starting a process for each core is:

public void GeoCode(Queue<Job> qJobs, bool bolKeepTrying, bool bolSpellCheck, Action<Job, bool, bool> aWorker)
{
// Get the number of processors, initialize the number of remaining
// threads, and set the starting point for the iteration.
int intCoreCount = Environment.ProcessorCount;
int intRemainingWorkItems = intCoreCount;

[Code]...

This is based on patterns document I found on Microsoft's parallel computing web site. The problem is that the Google API has a limit of 10 QPS (enterprise customer) - which I'm hitting - then I get HTTP 403 error's. Is this a way I can benefit from parallel processing but limit the requests I'm making? I've tried using Thread.Sleep but it doesn't solve the problem.

View 1 Replies

IIS 7 To Process The Request Queue In Parallel?

Apr 20, 2010

Currently we are developing an ASMX, ASP 2.0, IIS 7 web service that does some calculations (and return a dynamically generated document) and will take approx. 60 seconds to run.Since whe have a big machine with multiple cores and lots of RAM, I expected that IIS tries its best to route the requests that arrive in its requests queue to all available threads of the app pool's thread pool.But we experience quiet the opposite:When we issue requests to the ASMX web service URL from multiple different clients, the IIS seems to serially process these requests. I.e. request 1 arrives, is being processed, then request 2 is being processed, then request 3, etc

View 2 Replies

WCF / ASMX :: Web Service Process In Parallel Support?

Mar 14, 2011

I am seeking your expertise in ASP.Net with regards to multi-thread support of WebService in a scenario , that is If a WebService-Client is making simultaneous calls from the same process, the requests will be serialized at the WebServices so that only one-call will execute at any one time , on the contrary, if those calls are sent from different WebService-Clients ( Instances/Processes) , they are processed in-parallel by WebServices.

Have you ever experienced the same with ASP.Net, and what configurations/Settings should be followed, in order for a WebServices to concurrently process simultaneous calls form a single WebClient , when deploying a large number of Web-Clients' instances/processes is impractical in a project-context.

View 1 Replies

MVC :: Asynccontroller Multiple Tasks In Parallel Failed Sometime?

Jul 29, 2010

I am experimenting AsyncController feature. What I did is set up two tasks to run in parallel. As in the code below, the problem is that sometime all tasks finished and return successfully, sometime only one task finish and sometime each task finish half of it's work and return. It is weird, what did I do wrong?

[Code]....

View 29 Replies

C# - Best Practice Instrumenting A Webpage When Having Parallel Tasks?

Jun 24, 2010

I try to get an understanding of the performance of a web page and use Trace.Write

Problem is that I use Parallel.Invoke and starts more threads where I would like to report back using Trace.Write

Parallel.Invoke(() => Chart1AndLegend(param),
() => Chart2(param),
() => Chart3(param),
() => Chart4(param));

I have realized that Trace.Write is not a good way of tracing as it is gives you the time since last entry which makes no sense if more threads are writing.

View 1 Replies

HttpHandlers / Modules :: Context.Response.Output Vs Context.Response.Write()?

Jan 24, 2010

I have written simple HttpModule. context.Response.Output.Write is working fine. but not context.Response.Write().

View 2 Replies

WCF / ASMX :: Do Multiple WCF Web Service Requests Queue Up Or Do They Run In Parallel

Mar 17, 2011

I've got a WCF web service that runs fine at the moment but there is talk about using it very heavily soon. As part of it's normal process it writes a file out, then reads it back in again (don't ask why, I know it's stupid). I'm concerned that if we start hitting it with lots of requests then the following might happen.

1. Request 1 writes the file out.

2. Request 2 comes in and overwrites the file.

3. Request 1 reads the file back in but this is now the wrong file.

My understanding is that the requests would naturally queue up so that request 2 wouldn't start until request 1 had finished, but I'm not totally sure.

View 1 Replies

Visual Studio :: Running VS2008 And VS 2010 Parallel To Each Other?

Feb 28, 2011

I've got about 30 projects in VS 2008 and we are finally starting to upgrade to 2010. I get change requests pretty regularly so I'm likely to have to make changes to projects that are still in 2008 after VS 2010 is installed. Is it possible to intall VS 2010 without messing up the VS 2008 install? If so is there any particular trick to it so they live side by side or do they automatically do parallel install in different directories?

View 3 Replies

Multithreading - When Serve A Webpage -, Can Render The Various Controls On The Page In Parallel

Aug 10, 2010

When I serve an ASP.NET page, can I render the various controls on the page in parallel?

I have a few Telerik controls (RadGrids) on the page and when I step through the page being loaded, it seems as though the controls are databound and rendered serially.

Maybe this behavior is because I am hooked in with the debugger.

Is there anyway to load the page and have select controls build on separate threads? Is that even conceptually possible or must it be done sequentially?

View 2 Replies

Web Forms :: Remove The Vertical Lines Parallel To Each Field Column?

Dec 15, 2010

On our webform, I do I remove the vertical lines parallel to each field column?

Visit the webform at [URL]

View snippet code, below:

[Code]....

View 4 Replies

C# - Using A Variable From A Foreach Loop?

Dec 6, 2010

i'd like to be able to check to see if an item with the same id has already been placed in the database, if so to then update the quantity for that item, however due to the fact I have this in a foreach loop it will update the quantity for each item.

When I placed the Command outside of the loop I am unable to use 'ItemID' as it's not in context, is there anyway I can get around this?

foreach (UserItem ItemID in (List<UserItem>)Session["UserSession"])
{
ConclusionPage.InsertCommand = "IF EXISTS (SELECT ItemID FROM tblUserItems WHERE UserID='@CurrentUser' AND ItemID='@ItemID') UPDATE tblUserItems SET Quantity = Quantity+1 WHERE (UserID = '@CurrentUser') AND (ItemID = '@ItemID')";
ConclusionPage.Insert();
}

View 4 Replies

C# - Foreach Not Initialing The Loop Variable?

Mar 9, 2010

I'm using a foreach to loop through an IList of objects in a Partial View in ASP.NET MVC.

Here's the entire code (Message is one of my classes from the Model).

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<IList<Message>>" %>
<%
if (ViewData.Model.Count > 0)
{
foreach (MvcTest.Models.Message m in ViewData.Model)
{
Response.Write(m.RenderHtml());
}
}

ie explicitly declaring a variable for the IList rather than just using the (strongly-typed) Model, and it works fine.

View 1 Replies

C# - Passing In A Value To A Usercontrol Through A Foreach Loop?

Dec 21, 2010

in my asp.net mark up I have a foreach loop that iterates through a simple list. In this foreach loop I am adding a new user control and attempting to pass in the value from the loop. However, this value just wont budge and get inside that damn control!

<%foreach (userInfo i in this.items)
{ %>
<uc1:ItemControl ID="ItemControl" runat="server" UserID='<%#Eval("userID") %>'/>
<%} %>

userID is a public property in the control, when it goes to set, the value is just literally :

<%#Eval("userID") %>. I've tried #Bind and =Value but nothing seems to work.

View 2 Replies

MVC :: Update Data From Foreach Loop?

Feb 21, 2011

I am trying to do some basic. Display customer testimonials in a table using foreach loop and have a checkbox on each row. Once checked, update the table.

I have a stored procedure of complex type in my entity framework. Here is my View.

[Code]....

Here is my model

[Code]....

[Code]....

[Code]....

[Code]....

[Code]....

[Code]....

[Code]....

[Code]....

[Code]....

[Code]....

View 5 Replies

ADO.NET :: Copy Datarow Content Without Foreach

Jan 12, 2011

have 5 datatables and will add up more, what i need is to copy the content(rows) of the each and every datatable in a separate datatable. All the datatable columns are same. Is that possible without foreach statements. We can achieve the results in foreach
but the datatables will contain more rows, so iterating each and every datatable will affect the performance.he code i implemented is exact thing i need, but without foreach statement. To copy content of each and every datatable and put the content in a final datatable

DataTable dat = new DataTable();
DataRow Dr = dat.NewRow();
dat.Columns.Add("c1", typeof(string));
Dr[0] = "01";
[code]...

View 3 Replies

C# - Foreach Statement (get String Values)?

Jun 14, 2010

My code for splitting the strings is working however, i still need to use the splitted string my page. How can i achieve this? Here's my current code

private void SplitStrings()
{
List<string> listvalues = new List<string>();
listvalues = (List<string>)Session["mylist"];[code].....

how can i replace the response.write with any label or literal? when i tried to use a literal on the code it displays one single string not all of the strings that's been splitted.

View 3 Replies







Copyrights 2005-15 www.BigResource.com, All rights reserved