Click here to Skip to main content
15,921,028 members
Home / Discussions / C#
   

C#

 
GeneralRe: This should be easy Pin
Heath Stewart11-May-04 8:56
protectorHeath Stewart11-May-04 8:56 
Generalexport to Excel Pin
econnor4-May-04 9:24
econnor4-May-04 9:24 
GeneralRe: export to Excel Pin
Heath Stewart4-May-04 9:35
protectorHeath Stewart4-May-04 9:35 
GeneralRe: export to Excel Pin
econnor4-May-04 10:21
econnor4-May-04 10:21 
GeneralRe: export to Excel Pin
Heath Stewart4-May-04 10:25
protectorHeath Stewart4-May-04 10:25 
GeneralArchitecture question Pin
Jeff Varszegi4-May-04 9:07
professionalJeff Varszegi4-May-04 9:07 
GeneralRe: Architecture question Pin
Heath Stewart4-May-04 9:13
protectorHeath Stewart4-May-04 9:13 
GeneralRe: Architecture question Pin
Jeff Varszegi4-May-04 9:36
professionalJeff Varszegi4-May-04 9:36 
provider pattern

That's a good name for it. That's what I'm used to doing, now. I create an interface for something that takes input, then make one implementation for every type. I do the same for the methods of output. Then, for things that need a synchronous response that depends on processing, I give the ability to associate a particular input method to a particular output method ("sink"). Each request carries context information, etc. Next I write the threading code, so that one thread is attached to each method of input. These threads read in requests (sometimes assigning them priorities; sometimes that's down the processing chain).

Each request is dropped into an in-memory queue at this point, and winds up getting processed eventually. Any sensed admin requests are sent to the front of the queue. Sometimes I make the same thread that processes the request write the output, but when performance is important I usually dedicate a separate thread to each sink too, especially if the same response or result has to be written to more than one output.

Since you bring it up, I have to say that the word "sink" to refer to output is awesome. I formed most of my personal naming preferences doing Java work, where everything in the API is "reader" and "writer" organized, with an occasional "sink" in there usually as the contribution of an old C coder! The word "sink" is now one of my favorite things about .NET. I really am a naming freak.

So you're saying that I could make the ASP app front end another method of input besides remoting, an interesting suggestion. Whatever I do with this thing, though, I'm going to have to provide synchronous responses for both the ASP and Web service requests, so I'm concerned about performance; like, I wouldn't want to funnel HTTP requests through the Web service.

I'll just have to try wading into the remoting stuff, I guess. I have zippo experience with COM+, although I've done some reading on it. I'm sure I'll have plenty of annoying questions in a week or so. Smile | :)




-Jeff

here, bloggy bloggy
GeneralRe: Architecture question Pin
Heath Stewart4-May-04 9:51
protectorHeath Stewart4-May-04 9:51 
GeneralRe: Architecture question Pin
Jeff Varszegi4-May-04 10:01
professionalJeff Varszegi4-May-04 10:01 
GeneralRe: Architecture question Pin
Heath Stewart4-May-04 10:16
protectorHeath Stewart4-May-04 10:16 
GeneralNewbie - Updating Custom Controls Pin
andyj18324-May-04 8:20
andyj18324-May-04 8:20 
GeneralRe: Newbie - Updating Custom Controls Pin
Heath Stewart4-May-04 8:31
protectorHeath Stewart4-May-04 8:31 
GeneralRe: Newbie - Updating Custom Controls Pin
andyj18324-May-04 9:04
andyj18324-May-04 9:04 
GeneralRe: Newbie - Updating Custom Controls Pin
Heath Stewart4-May-04 9:08
protectorHeath Stewart4-May-04 9:08 
GeneralWindow embedded, views Pin
Demian Panello4-May-04 7:23
Demian Panello4-May-04 7:23 
GeneralRe: Window embedded, views Pin
Heath Stewart4-May-04 8:26
protectorHeath Stewart4-May-04 8:26 
GeneralProcessor data Pin
mikker_1234-May-04 6:39
mikker_1234-May-04 6:39 
GeneralRe: Processor data Pin
Jeff Varszegi4-May-04 7:12
professionalJeff Varszegi4-May-04 7:12 
GeneralRe: Processor data Pin
..Hubert..4-May-04 7:58
..Hubert..4-May-04 7:58 
GeneralRe: Processor data Pin
eggie54-May-04 15:31
eggie54-May-04 15:31 
GeneralUsing a device driver in C# Pin
goldoche4-May-04 5:14
goldoche4-May-04 5:14 
GeneralRe: Using a device driver in C# Pin
Heath Stewart4-May-04 8:18
protectorHeath Stewart4-May-04 8:18 
GeneralWindows Forms DataGrid Control Keyboard Shortcuts Pin
Anonymous4-May-04 5:10
Anonymous4-May-04 5:10 
GeneralRe: Windows Forms DataGrid Control Keyboard Shortcuts Pin
Heath Stewart4-May-04 8:16
protectorHeath Stewart4-May-04 8:16 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.