|
Hi
I have a problem with running more than 2 async WebRequest's when launched. To explain better. Only 2 at a time responds, while the others wait for a "slot" to open. Then once one "slot" is open, the next async WebRequest will continue.
I am invoking all the requests from a foreach loop in the main program thread. I was thinking there is maybe a 2 operation limit, but can find no such mention.
IAsyncResult res = ds.WebRequest.BeginGetResponse( new AsyncCallback( this.ResponseCallback) , ds);
But ResponseCallback only get called when a slot opens up.
Any help will be accepted.
MYrc : A .NET IRC client with C# Plugin Capabilities. See
http://sourceforge.net/projects/myrc for more info.
|
|
|
|
|
This is the behavior of IE; to test it yourself upload 3 largish files to a website and create a webpage linking to them. Load the page up then right click and save target as on 3 of them; 2 will go immediately while the third will wait. I can't remember the agreed upon reasoning for this at the moment.
Unfortunately not much you can do about it unless you create your own class which will do the downloading. But there is a chance such a class already exists
James
"Java is free - and worth every penny." - Christian Graus
|
|
|
|
|
James T. Johnson wrote:
Unfortunately not much you can do about it unless you create your own class which will do the downloading.
Thanx James, this is exactly what I am doing
I have tried calling Stream.Read each from its own thread, but with no joy either Now only one download starts and with a second one following that and all others timing out.
MYrc : A .NET IRC client with C# Plugin Capabilities. See
http://sourceforge.net/projects/myrc for more info.
|
|
|
|
|
You aren't going to be able to use the WebRequest class at all; because the problem is how the WebRequest class works, by shifting the burden to the IE implementations which has the 2 connections to the same server limit.
The "work around" is to create your own WebRequest type class using the base Socket class to handle the communication with the HTTP server.
Given the TcpClient class this might not be very hard, if you have the HTTP 1.1 spec open since most communication is done via text.
James
"Java is free - and worth every penny." - Christian Graus
|
|
|
|
|
Thanx James, I thought it has somethin todo with that , for some reason i believe that number use to be 4, till IE 5/6, then it went back to 2.
James T. Johnson wrote:
2 connections to the same server limit
Is this limit only per server, iow should i get more connections if i have more servers available with the same resource?
Is there not a registry entry that can be modified?
MYrc : A .NET IRC client with C# Plugin Capabilities. See
http://sourceforge.net/projects/myrc for more info.
|
|
|
|
|
Is there a way to check this? i have been looking through the documentation and found nothing....even i can get the filename, i could tell.
Email: theeclypse@hotmail.com URL: http://www.onyeyiri.co.uk "All programmers are playwrights and all computers are lousy actors."
|
|
|
|
|
Does anyone know how to get an icon from a DLL and put it in an image list? the icon is in the SHELL32.dll file.
Email: theeclypse@hotmail.com URL: http://www.onyeyiri.co.uk "All programmers are playwrights and all computers are lousy actors."
|
|
|
|
|
I am overriding the OnMouseDown in a DataGrid to do one simple thing (open a browser window on click.)
However I then naturally loose the other native abilities of the DataGrid such as automatic column sizing and automatic column sorting.
So my question is there no way I can "selectively" override or rather "hook onto" that event to run my own code, but then leave the native abilities of the DataGrid alone?
Or do I basically have to re-write the sodding code for column resizing and sorting?
regards,
Paul Watson
Bluegrass
Cape Town, South Africa
|
|
|
|
|
You should be able to call the base.OnMouseDown() method when you want to let the DataGrid handle the other things (its usually a requirement anyway so the MouseDown event fires)
James
"Java is free - and worth every penny." - Christian Graus
|
|
|
|
|
James T. Johnson wrote:
You should be able to call the base.OnMouseDown() method when you want to let the DataGrid handle the other things
Thank you James, that works like a bomb
I am getting a clearer picture of overriding and inheriting now.
regards,
Paul Watson
Bluegrass
Cape Town, South Africa
|
|
|
|
|
|
Nishant S wrote:
How can a Windows.Forms derived control's constructor differentiate between designer instantiation and run time instantiation?
LMAO I have exactly that same problem with CP+. Damned constructor loads some files which are obviously not present at design time, so then the Form Designer shows that horrid HRESULT 0x80131019 error. So far I have not found a way to get around it.
regards,
Paul Watson
Bluegrass
Cape Town, South Africa
|
|
|
|
|
You could get around this by delaying the loading of the file until the Load event of the UserControl and supplying reasonable default values until then (for the designer).
James
"Java is free - and worth every penny." - Christian Graus
|
|
|
|
|
James T. Johnson wrote:
You could get around this by delaying the loading of the file until the Load event of the UserControl and supplying reasonable default values until then (for the designer).
What I did do though was put in a if (file.exists... condition in the constructor. If no file exists then hard coded defaults are used.
Still would be nice to know whether the app is in design time or run time in the constructor though.
Thanks James.
regards,
Paul Watson
Bluegrass
Cape Town, South Africa
|
|
|
|
|
In design time the default constructor gets called. So setup some example values with that.
MYrc : A .NET IRC client with C# Plugin Capabilities. See
http://sourceforge.net/projects/myrc for more info.
|
|
|
|
|
Nishant S wrote:
How can a Windows.Forms derived control's constructor differentiate between designer instantiation and run time instantiation?
Not in the constructor. The earliest you can do is in set accessor of Site property. You can check in that case Site.DesignMode.
(I was hoping that our RC#S - JTJ will have a better answer this so I left it)
|
|
|
|
|
|
Rama Krishna wrote:
Not in the constructor. The earliest you can do is in set accessor of Site property. You can check in that case Site.DesignMode
LOL, I couldn't think of why the Site property was always null in the constructor.
BTW, a more up-front property is the protected boolean property DesignMode , which aleviates a check of Site for null first.
James
"Java is free - and worth every penny." - Christian Graus
|
|
|
|
|
James T. Johnson wrote:
LOL, I couldn't think of why the Site property was always null in the constructor
I meant to say he needed to overload the Site property
class MyComp : Component
{
public override System.ComponentModel.ISite Site
{
get
{
return base.Site;
}
set
{
base.Site = value;
//Now you can test for DesignMode property
}
}
}
}
|
|
|
|
|
|
No. The only font selection dialog is in the common controls dll.
Todd Smith
|
|
|
|
|
System.Windows.Forms.FontDialog
[Edit: *cough* *wheez* *gag* I sick, please ignore my ignorance *cough*]
James
"Java is free - and worth every penny." - Christian Graus
|
|
|
|
|
Is it possible to draw a control outside of its parent's client
area, say, somewhere on the desktop?
|
|
|
|
|
I can't believe I've spent half a day surfing and reading and still haven't figured this out.
What is the .Net equivallent of coding a VISUAL COMPONENT meant to run IN THE BROWSER. Nothing server-side, purely client-side. The server will be a simple, static HTML vending server, no ISS.
What I need to do is the following, it should be simple, but seems impossible!!!
- I need to place a legacy ActiveX control on a web page.
- I need to author, in C#, a component which runs IN THE BROWSER and accesses the ActiveX component, through COM/Intertop generated assemblies (I'm hoping that if I just toss the interop dll's into the same cab as the compoent and it'll just work).
Problem #1: I can't even figure out what the heck the .Net equivalent of an ActiveX control is, for running in the browser. At first it seemed like WebControls...but those have "runat=server"? Can somebody point me to some sample code, anywhere?
I've coded up a simple WebControl, but can't figure out if it's the right best, and if it is even how to insert it into a HTML page! The samples I've found show them going into asp pages as script, that's not what I want obviously. I'm wondering if I am supposed to be using a regular .Net Framework Component and IE can host it? I only need IE support. Can IE6 support .Net framework components?
Problem #2: Once I get the above working, it needs to be able to reference an ActiveX control which is also on the same page. How do I do this? Can I write some script in the webpage that "passes" the activeX control into the .net control? can the .net control enumerate items on the page and find it that way? How is this done, if at all?
Thanks in advance, I've been stuck on this for far too long.
Rhino
|
|
|
|
|
I could be wrong but I haven't seen "Creating a COM object in C#". I've seen C# wrappers for existing COM objects and using COM objects from C# but not creating COM objects in C#.
I believe you'll have to use either VB or C++ to create an ActiveX/COM object.
A WebControl in C# is something that generates HTML output and runs server side. It's not the same as an ActiveX which typically runs client side.
Todd Smith
|
|
|
|