|
I created a .NET web service that was to be consumed by a .NET web application.
Now I have a problem. I made a session variable in the Web Service and stored the instance of the Web Service in a session variable in the Web application.
I have two problems
1. The session variable in the Web service is lost in subsequent calls.
2. The WebService object in the Web app session is NULL in every submit from the browser.
Have anyone implemented something like this? Is this the correct way to implement a state-ful Web Service?
Thomas
modified 29-Aug-18 21:01pm.
|
|
|
|
|
Did you set the EnableSession property in your WebMethod attributes?
"Well, I wouldn't say I've been missing it, Bob." - Peter Gibbons
|
|
|
|
|
I actually figured out the existence of that property yesterday .
Thank you very much.
Note:
Also I found that to use the WebService from a Web Application, the WebService object in the .NET app has to be assigned a cookie container so that it can maintain the ASP.NET cookie that maintains sessions
Thomas
modified 29-Aug-18 21:01pm.
|
|
|
|
|
Hi,
Can you help ?
I don't know how to phrase my question so I have written it out in serveral different ways. They all make sense to me
but that is because I know what I want!
And the question ? .......
If I inherit from a System.Windows.Forms.ContainerControl I can use the inherited control as a container type control within the IDE, and drag-drop toolbox items into it. However if I inherit from a UserControl, the the ability to drag-drop controls
into it seems to be disabled.
What I am attempting to do is create a container control that can be drag-dropped onto a form and be used as any normal container control (eg. Panel). To do this I can inherit from the ContainerControl and all is well. As an extension to
this I would also like to be able to inherit directly from the control and use it as a designer base.
If I inherit from a UserControl, then I can use the default usercontrol designer, but I cannot then use the created control
on a Form, and drag-drop toolbox items into it.
Is there anyway of creating a container control, which is based on a UserControl, and use the created control within the
IDE in the sameway as all the built-in container controls.
Gary Ranson.
|
|
|
|
|
You can get a start by adding a reference to System.Design.dll and adding the following attribute to your UserControl
[Designer(typeof(System.Windows.Forms.Design.ParentControlDesigner))]
You may want to put some code into the Paint event so that you draw a border around the control if DesignMode is true; otherwise the control will blend into the form with the default values.
James
"And we are all men; apart from the females." - Colin Davies
|
|
|
|
|
Hi,
I am trying to capture rendering time of a webcontrol/aspx.page and capture it to a database for performance evaluations. Enabling Trace option shows these information but didn't understand how to capture these information. Is there any other way of capturing these information in a more generalized way.
Thanx
tkc
|
|
|
|
|
Isn't there a way to trace output to file.
I'm sure it'll be an attribute or something...
Cheers,
Simon
"Sign up for a chance to be among the first to experience the wrath of the gods.", Microsoft's home page (24/06/2002)
|
|
|
|
|
Thanks for ur response.I tried adding TraceListeners and capturing the trace, but this worked only with windows applications. When I tried using Listeners with ASP.NET ..it wouldn't write anything to file.
thanks
tkc
|
|
|
|
|
Hi,
Does anyone know where the "Description" string shown in the Win2K service manager can be set using the .NET service classes? I've been unable to find this in the Service, ServiceInstaller or ProcessInstaller classes.
Thanks
Jason.
modified 10-Jul-19 21:02pm.
|
|
|
|
|
|
Wow!
Thanks Richard,
I Totally missed that one! That'll teach me to search first of all. I viewed it as such a trivial query that I never even thought to look for a specific article addressing the problem.
Regards,
Jason.
modified 10-Jul-19 21:02pm.
|
|
|
|
|
Does anyone know of a library that will enumerate the event logs on a machine? Or, does anyone know the query for ldap/adsi that can be used for this? There's gotta be something...
Tanka
|
|
|
|
|
Look at System.Diagnostics.EventLog.GetEventLogs( <span title="Optional - Defaults to local machine">[MachineName]</span> ) . Should return an array of EventLog objects for all logs defined on the machine.
|
|
|
|
|
|
I Need a macro to collapse .NET Solution Explorer Tree. Does any one know how to do that, or have code that will do that?
Thanks,
Derek
|
|
|
|
|
I am creating some web services that have several webmethods that return an integer to represent several possible return values.
My first impression was to place the return values into an enum so that I could reference the returns in the webmethod code by the enums as well.
My quandry here is this... Can I include the enum definition in the webservice itself to be available to the windows form client that will call it, or should I move the emun outside to another assembly so that it can be referenced by both the webservice and the winforms client?
|
|
|
|
|
Ray Cassick wrote:
or should I move the emun outside to another assembly so that it can be referenced by both the webservice and the winforms client?
That's what you should do IMHO. I always put my enums along with any interfaces into a DLL which is shared across servers/clients
Nish
Author of the romantic comedy
Summer Love and Some more Cricket [New Win]
Review by Shog9
Click here for review[NW]
|
|
|
|
|
If you use the enum in your WebMethod, the SOAP documenter would include that in the WSDL, or at least it always has for me in the past. This way, when your client app generates a proxy for the Web Service, the enum would be included.
"Well, I wouldn't say I've been missing it, Bob." - Peter Gibbons
|
|
|
|
|
IMHO the best design it's il rewriting . You as you said can do it by reflection , of course you must write a il parser to achieve that.
For instance you could inject code to do new things like checking the code , adding new funcionality , or you can profile it, etc, etc ...
To do this I advise you read the ECMA specs of the IL language (CIL or MSIL or ...) , and to read "Inside IL Assembler" or "Programming CIL", 2 good books about the IL Language and to read Compiling for .NET that shows some good tricks to parse and generate IL code via Reflection or component pascal .
Cheers,Joao Vaz
And if your dream is to care for your family, to put food on the table, to provide them with an education and a good home, then maybe suffering through an endless, pointless, boring job will seem to have purpose. And you will realize how even a rock can change the world, simply by remaining obstinately stationary.-Shog9
|
|
|
|
|
Thaxs for your'e suggestions - I got a book on IL (don't remember the exact name) and I really want to implement it at that level if it is possible. However, theres a difference between IL in it's text form (the OPcodes in text) and the ones that resides in the module/assembly (the "compiled" ones). As I understood it, your suggestion is that I learn the numerical form of OP-codes, parse the binary and modifies the codes with my own enhancements at that level? The problem is, I can't see the connection between the reflection of an object, and the IL code that represent it. Let's say I start using Reflection, and finds a type that qualifies for enhancment - is there a way to, for example, get a memorystream of the IL representation of that type, and the fields/properties within it? That's what I'm after.
In short, this is what I would like to do:
// Do iterate type's in assembly A1
// Found a type with a certain attribute, say [MyAttr()]
// Iterate all instance-fields that type contains
// For each field, retreive the IL code for it, and change that code with my enhancment
// Write the enhanced type back to assembly A1
/psatvz
|
|
|
|
|
psatvz wrote:
// Do iterate type's in assembly A1
// Found a type with a certain attribute, say [MyAttr()]
// Iterate all instance-fields that type contains
// For each field, retreive the IL code for it, and change that code with my enhancment
// Write the enhanced type back to assembly A1
Yes, it's full possible to do it with Reflection
Reflection permits generation of il on memory , and serialization of the results to disk.
You could check source code of Reflector for .NET on http://www.aisto.com/roeder/dotnet/[^]
or the source of Anakrino decompiler(do a search on google) to help you with retrieving your il.
Forget the parser , with reflection, you have access to function names,I think that you don't have access to local names of the variables (or at least I didn't see this anywhere on the web or on the books ...), then you can add the attribute to the piece of code that you want and rewrite the il of the original application (dangerous), or write to a new assembly.
Cheers,Joao Vaz
And if your dream is to care for your family, to put food on the table, to provide them with an education and a good home, then maybe suffering through an endless, pointless, boring job will seem to have purpose. And you will realize how even a rock can change the world, simply by remaining obstinately stationary.-Shog9
|
|
|
|
|
Man - thanx! This was a great opening, now I got enough to start working with.
Really - thanks a lot!!
/psatvz
|
|
|
|
|
Ok, no that I know how to do this (thanx to the tips I got here) I came up with a new idea, based on this, witch leads to a antoher question, namely:
Is it possible to change/enhance the once allready loaded code for a given type, during runtime?
My guess is no (since it seems like to much of a risk to allow such a thing), but I have to assure that it can't be done until I can drop it, since it would be such a great solution to what I am trying to solve. So, what I would like to do is basically this:
* A type is loaded into memory, and all metadata allong with it (methodtables etc etc).
* My enhancer code (allready in memory) is 'nofified' of this loaded type (this, I allready know how to do).
* My enhancer code detects that this type has a property/method X that qualifies for 'enhanced' logic (know how to do aswell).
* My enhancer code looks up the memory where the IL-code for the property/method X resides (I think I know how to do this, but I'm not sure).
* My enhancer makes sure that code is 'enhanced' with the right features, and when the property/method X is invoked, the 'enhanced' code is executed by the runtime instead of the original code.
The difference between this and my first approach (witch I now know how to do) is that the code-enhancing is carried out in memory, and my first approach was parsing the IL-code on disk (e.g without loading the types that where to be enhanced), enhanced it and then wrote the enhanced code back to disk.
Any help highly appreciated!
/psatvz
|
|
|
|
|
You might want to look at John Lam's work for a .NET aspect weaver[^]
Unfortunately I don't see any mention of a way of getting a hold of his weaver; but perhaps if you e-mailed him he could give you more information than I
James
"And we are all men; apart from the females." - Colin Davies
|
|
|
|