|
I assume this is what a snippet is for.
|
|
|
|
|
*rim shot*
Blog link to be reinstated at a later date.
|
|
|
|
|
There was such class but it was sterilized
|
|
|
|
|
You make it sealed, so that noone can create child classes from it.
Despite everything, the person most likely to be fooling you next is yourself.
|
|
|
|
|
Hi,
.net 2 vs2005
My application is using a web service which uses a dal to interact with a database.
The application connects to the web service when it loads (the database is connected in the constructor of the web service)
So my application has a web reference to the web service, on loading it instantiates the web service object then calls web methods as and when.
Whilst debugging and stepping through code in the web service, whenever i call a web method the web service constructor is always called - so is it correct that the web service reconnects to the database whenever any web method is called? My application will run on 50+ clients all calling 100s of web methods/ day. So im thinking there will be a lot of database connections would this be a significant performance hit? What I would like is for the web service to connect once and then keep using that connection. Is it common practice to allow the web service to reconnect to the database whenever a web method is called?
Thanks,
Chas
|
|
|
|
|
Chazzysb wrote: Whilst debugging and stepping through code in the web service, whenever i call a web method the web service constructor is always called - so is it correct that the web service reconnects to the database whenever any web method is called?
Yes. I think you have to change the DB connection opening from construtor to each method. Good way is to open DB connection, execute queries and close the connection inside the method. Don't do it in the constructor.
To avoid each time DB connection, you can cache the result either in webservice or in your application. To enable caching in a webservice use [WebMethod(CacheDuration=60)] for method. Cache duration specified is in seconds.
|
|
|
|
|
hi every one
i want to use the LPT PORT as i2c protocol
do you have any exmple?
|
|
|
|
|
Hello everyone,
Supposing I am writng a web services client using managed code. My question is what is the differences between passing by value and passing by reference, when we pass parameter to a web services web method call?
My confusion is, in traditional senses, passing by reference means passing only a pointer, and modification is impacted on the original object. Passing by value means passing a new copy of original object, and modification is not impacted on the original object. -- But for web services, no matter pass by value or pass by reference of an object, I think it is always made a new copy and not pointer across the network to web services server (since pointer address is only meaningful for local process on local machine)?
What is the actual differnces between passing by reference and passing by value when making a web services call?
thanks in advance,
George
|
|
|
|
|
This article[^] explains it.
Basically .NET remoting allows passing an object by "marshal-by-value" (for (I)Serializable objects) or "marshal-by-reference" (for objects that inherit from System.MarshalByRefObject ). The latter is slightly different than just passing a pointer around, but it kind of simulates this scenario in .NET remoting.
regards
modified 12-Sep-18 21:01pm.
|
|
|
|
|
Hi Greeeg,
Is web services call the same way of .Net remoting? I am not quite sure about the relationship between .Net remoting and .Net web services stack -- does .Net web services stack build on .Net remoting?
regards,
George
|
|
|
|
|
I'm not entirely sure, but as far as I know the WebServices also use the .NET remoting framework.
regards
modified 12-Sep-18 21:01pm.
|
|
|
|
|
Thanks Greeeg,
Your point is in essence they are of the same?
regards,
George
|
|
|
|
|
Greeeg wrote: I'm not entirely sure, but as far as I know the WebServices also use the .NET remoting framework.
No, they are two separate technologies. They are similar, and they can use the same protocol for transport, but neither uses the other.
Despite everything, the person most likely to be fooling you next is yourself.
|
|
|
|
|
Thanks Guffa,
1.
"the same protocol for transport" you mean using SOAP or?
2.
After reading the article, could I understand in this way?
The only differences between passing by value and passing by reference in a remote web services call is, if pass by reference, the modified result is copied back? If passed by value, no copy-back?
regards,
George
|
|
|
|
|
George_George wrote: "the same protocol for transport" you mean using SOAP or?
Yes.
George_George wrote: The only differences between passing by value and passing by reference in a remote web services call is, if pass by reference, the modified result is copied back? If passed by value, no copy-back?
Exactly.
Despite everything, the person most likely to be fooling you next is yourself.
|
|
|
|
|
Thanks Guffa,
Your reply is very clear.
regards,
George
|
|
|
|
|
Very nice article you suggested
"The clue train passed his station without stopping." - John Simmons / outlaw programmer
"Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
"Not only do you continue to babble nonsense, you can't even correctly remember the nonsense you babbled just minutes ago." - Rob Graham
|
|
|
|
|
Hi Paul,
As you read and like the document, then what do you think is the differences between passing by value and passing by reference in a remote web services call?
regards,
George
|
|
|
|
|
George_George wrote: Passing by value means passing a new copy of original object
That only applies to value types. For a reference type you will be passing a copy of the reference, not a copy of the object.
For web services you will always pass a serialised copy of the object, and if it's a ref parameter, it will send back a serialised copy of the updated object which will replace the data in the original object.
Despite everything, the person most likely to be fooling you next is yourself.
|
|
|
|
|
Thanks Guffa,
1.
I understand and agree with what you said. But I am confused about what is your answer to my original question? Could you explicitly point out what do you think are the differences between passing by reference and passing by value of a value type please? After reading your reply, I can not find your points clearly about the differences.
2.
I think you mean only value type is eligible to the discussion of choices of passing by value or passing by reference?
regards,
George
|
|
|
|
|
George_George wrote: Could you explicitly point out what do you think are the differences between passing by reference and passing by value of a value type please?
When a value type is passed by value, the value is simply copied to the stack when doing the call. When passed by reference (using the ref or out keywords), a pointer to the variable is put on the stack when doing the call.
One good thing to know when understanding how reference types and value types are passed, is that a reference is a value type. (pause to let it sink in ) The object itself is a reference type and is stored on the heap, but the reference to the object is a value type. When you pass a reference type as argument, you are actually passing the reference, and as that is a value type it's value is simply copied. When you pass a reference type by reference, it's the reference that is sent by reference, so a pointer to the reference is put on the stack.
George_George wrote: I think you mean only value type is eligible to the discussion of choices of passing by value or passing by reference?
No, I meant that only value types fit your description of how it's sent by reference. Both value types and reference types can be sent by value or by reference. (However, when sending a reference type by reference, you are actually sending the reference to the reference type by reference.)
Despite everything, the person most likely to be fooling you next is yourself.
|
|
|
|
|
Guffa wrote: When you pass a reference type as argument, you are actually passing the reference, and as that is a value type it's value is simply copied.
It's value will be a reference, right?
modified on Sunday, September 28, 2008 1:56 PM
|
|
|
|
|
Right.
Despite everything, the person most likely to be fooling you next is yourself.
|
|
|
|
|
Hi Guffa,
"When you pass a reference type as argument, you are actually passing the reference, and as that is a value type it's value is simply copied." -- I am confused what do you mean. You mean when we pass a reference, we actually just copied the pointer/reference's value? My most confusion is what means "and as that is a value type".
regards,
George
|
|
|
|
|
George_George wrote: You mean when we pass a reference, we actually just copied the pointer/reference's value?
Exactly.
George_George wrote: My most confusion is what means "and as that is a value type".
When you pass a value type by value, it's contents is just copied. A reference variable is a value type, so when it's passed by value (i.e. as usual) it's value is copied. As Navaneeth pointed out, the value of the reference variable is a reference.
Despite everything, the person most likely to be fooling you next is yourself.
|
|
|
|