473,573 Members | 4,115 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Properties - C# vs VB - ??

Hi,
I was looking over some differences between C# and VB code today and noticed
that the set method in properties act completely different. C# values are
passed by reference, and VB values are passed by value... Am I right? Why is
there such a big difference in implementation of properties?

Dec 29 '07 #1
10 1691
Timothy wrote:
Hi,
I was looking over some differences between C# and VB code today and
noticed that the set method in properties act completely different. C#
values are passed by reference, and VB values are passed by value... Am
I right? Why is there such a big difference in implementation of
properties?
Hm, not sure I understand. In C#, setting a property passes the value,
not a reference to the new value. What exactly are you describing here?

--
Lasse Vågsæther Karlsen
mailto:la***@vk arlsen.no
http://presentationmode.blogspot.com/
Dec 29 '07 #2
Well, no, you are wrong.
The simple answer would be that struct instances are passed by value while
class instances are passed by readonly reference.
It doesn't depend on the lanugage.

--
Miha Markic [MVP C#, INETA Country Leader for Slovenia]
RightHand .NET consulting & development www.rthand.com
Blog: http://cs.rthand.com/blogs/blog_with_righthand/

"Timothy" <no****@myhome. comwrote in message
news:Ox******** ******@TK2MSFTN GP04.phx.gbl...
Hi,
I was looking over some differences between C# and VB code today and
noticed that the set method in properties act completely different. C#
values are passed by reference, and VB values are passed by value... Am I
right? Why is there such a big difference in implementation of properties?
Dec 29 '07 #3
"Lasse Vågsæther Karlsen" <la***@vkarlsen .nowrote in message
news:O4******** ******@TK2MSFTN GP03.phx.gbl...
Timothy wrote:
>Hi,
I was looking over some differences between C# and VB code today and
noticed that the set method in properties act completely different. C#
values are passed by reference, and VB values are passed by value... Am I
right? Why is there such a big difference in implementation of
properties?

Hm, not sure I understand. In C#, setting a property passes the value, not
a reference to the new value. What exactly are you describing here?

--
Lasse Vågsæther Karlsen
mailto:la***@vk arlsen.no
http://presentationmode.blogspot.com/
Maybe I'm doing something wrong? Running this code produces an output of
"2". Assigning the string, "1", within the Sample instance then assigning
the property within SampleWithPrope rty as the Sample instance... Then
changing the Sample instance's string value to "2".... the string of the
Sample instance kept by the SampleWithPrope rty instance SHOULD be "1",
shouldn't it?

class Program
{
static void Main(string[] args)
{
Sample s = new Sample();
SampleWithPrope rty swp = new SampleWithPrope rty();

s.a = "1";
swp.b = s;
s.a = "2";
Console.WriteLi ne(swp.b.a); // prints "2"
}
}

class Sample
{
public string a;
}

class SampleWithPrope rty
{
public Sample b { get; set; }
}

Dec 29 '07 #4
Timothy <no****@myhome. comwrote:
Maybe I'm doing something wrong? Running this code produces an output of
"2". Assigning the string, "1", within the Sample instance then assigning
the property within SampleWithPrope rty as the Sample instance... Then
changing the Sample instance's string value to "2".... the string of the
Sample instance kept by the SampleWithPrope rty instance SHOULD be "1",
shouldn't it?
No, because they both refer to the same instance of Sample. Only one
instance of it is ever created.

See
http://pobox.com/~skeet/csharp/parameters.html
and
http://pobox.com/~skeet/csharp/references.html
for information about the difference between reference types and value
types.

--
Jon Skeet - <sk***@pobox.co m>
http://www.pobox.com/~skeet Blog: http://www.msmvps.com/jon.skeet
World class .NET training in the UK: http://iterativetraining.co.uk
Dec 29 '07 #5
Just did the same example in VB, but it had the same effect... I got a
little confused because the Set method had a ByVal keyword attached (which
still confuses me). Maybe someone can explain this to me. Here is the code
btw:

Module Module1

Sub Main()
Dim s As New Sample
Dim swp As New SampleWithPrope rty

s.a = "1"
swp.b = s
s.a = "2"
Console.WriteLi ne(swp.b.a)
End Sub

End Module

Class Sample
Public a As String
End Class

Class SampleWithPrope rty

Private _b As Sample
Public Property b() As Sample
Get
Return _b
End Get
Set(ByVal value As Sample)
_b = value
End Set
End Property

End Class

Dec 29 '07 #6
Timothy wrote:
"Lasse Vågsæther Karlsen" <la***@vkarlsen .nowrote in message
news:O4******** ******@TK2MSFTN GP03.phx.gbl...
>Timothy wrote:
>>Hi,
I was looking over some differences between C# and VB code today and
noticed that the set method in properties act completely different.
C# values are passed by reference, and VB values are passed by
value... Am I right? Why is there such a big difference in
implementatio n of properties?

Hm, not sure I understand. In C#, setting a property passes the value,
not a reference to the new value. What exactly are you describing here?

--
Lasse Vågsæther Karlsen
mailto:la***@v karlsen.no
http://presentationmode.blogspot.com/

Maybe I'm doing something wrong? Running this code produces an output of
"2". Assigning the string, "1", within the Sample instance then
assigning the property within SampleWithPrope rty as the Sample
instance... Then changing the Sample instance's string value to "2"....
the string of the Sample instance kept by the SampleWithPrope rty
instance SHOULD be "1", shouldn't it?

class Program
{
static void Main(string[] args)
{
Sample s = new Sample();
SampleWithPrope rty swp = new SampleWithPrope rty();

s.a = "1";
swp.b = s;
s.a = "2";
Console.WriteLi ne(swp.b.a); // prints "2"
}
}

class Sample
{
public string a;
}

class SampleWithPrope rty
{
public Sample b { get; set; }
}
No, this has nothing to do with properties.

A class is a reference type. A variable, property, field, whatever you
pick, will hold a pointer to a place in memory where the actual class it.

This type of code:

Sample s1 = new Sample();
Sample s2 = s1;

does not produce two copies of an object of Sample. It produces two
references to the one object.

Let me explain it another way.

A house is built from a blueprint, in a location and given an address.
(blueprint is the class, the house is the object, the address is the
reference).

It doesn't matter how many pieces of paper you write down the address
to, if you go to the house and rearrange the furniture, the house from
all those addresses will still be just the one house, and it doesn't
matter which paper you pick, they all lead to the same one house. To an
observer that only reads the address, goes to the house, and doesn't
look at the surroundings, it might look like he has many pieces of paper
that leads to identical (but separate) houses, but he's in reality just
visiting the same house over and over again.

A value type, which is used for structs and all the base types for
numbers (among other things), is not a pointer, and thus the value
itself is copied, which means that each value is separate. You can,
similar to the one above, think of it like a number on a piece of paper.
If you copy the number to a new paper, but then alter the number on the
original paper afterwards, the copy is still as it was when it was made,
ie. unchanged. Now you have two pieces of papers with different numbers
on them.

Strings are something inbetween (simplified explanation). They are pure
reference types, which means that a variable holding a string holds a
pointer to a location in memory where the string data is stored. The
difference is that string objects in .NET are made immutable, which mean
that once they are created, they will never change. Thus, if you
construct a new string, it will be in a different location in memory,
and thus have a new address. If you think of the house, instead of
rearranging the furniture, "changing a string" means constructing a new,
almost identical house, except for the changes from the original.

This code:

String s1 = "test";
String s2 = s1 + "!";

constructs two string objects, that are different.

All this is true also for Visual Basic.NET and other .NET languages. If
you have evidence to the contrary, I suggest you post it because I'm
confident that there's something else that is different in the VB
solution as well, that makes you observe different things.

Hope all of this was clear, if not, poke holes in it and ask more
questions. If I incorrectly assumed you didn't know all this, I
apologize for the lecture :)

--
Lasse Vågsæther Karlsen
mailto:la***@vk arlsen.no
http://presentationmode.blogspot.com/
Dec 29 '07 #7
>"Lasse Vågsæther Karlsen" <la***@vkarlsen .nowrote in message
>news:ua******* *******@TK2MSFT NGP04.phx.gbl.. .
No, this has nothing to do with properties.

A class is a reference type. A variable, property, field, whatever you
pick, will hold a pointer to a place in memory where the actual class it.

This type of code:

Sample s1 = new Sample();
Sample s2 = s1;

does not produce two copies of an object of Sample. It produces two
references to the one object.

Let me explain it another way.

A house is built from a blueprint, in a location and given an address.
(blueprint is the class, the house is the object, the address is the
reference).

It doesn't matter how many pieces of paper you write down the address to,
if you go to the house and rearrange the furniture, the house from all
those addresses will still be just the one house, and it doesn't matter
which paper you pick, they all lead to the same one house. To an observer
that only reads the address, goes to the house, and doesn't look at the
surroundings, it might look like he has many pieces of paper that leads to
identical (but separate) houses, but he's in reality just visiting the
same house over and over again.

A value type, which is used for structs and all the base types for numbers
(among other things), is not a pointer, and thus the value itself is
copied, which means that each value is separate. You can, similar to the
one above, think of it like a number on a piece of paper. If you copy the
number to a new paper, but then alter the number on the original paper
afterwards, the copy is still as it was when it was made, ie. unchanged.
Now you have two pieces of papers with different numbers on them.

Strings are something inbetween (simplified explanation). They are pure
reference types, which means that a variable holding a string holds a
pointer to a location in memory where the string data is stored. The
difference is that string objects in .NET are made immutable, which mean
that once they are created, they will never change. Thus, if you construct
a new string, it will be in a different location in memory, and thus have
a new address. If you think of the house, instead of rearranging the
furniture, "changing a string" means constructing a new, almost identical
house, except for the changes from the original.

This code:

String s1 = "test";
String s2 = s1 + "!";

constructs two string objects, that are different.

All this is true also for Visual Basic.NET and other .NET languages. If
you have evidence to the contrary, I suggest you post it because I'm
confident that there's something else that is different in the VB solution
as well, that makes you observe different things.

Hope all of this was clear, if not, poke holes in it and ask more
questions. If I incorrectly assumed you didn't know all this, I apologize
for the lecture :)

--
Lasse Vågsæther Karlsen
mailto:la***@vk arlsen.no
http://presentationmode.blogspot.com/
Thanks for the very informative lecture :-) You have answered my question,
for the most part. If you know a little VB, you may be able to finish it
off. In the code I posted just before (the VB code) I mentioned that the
ByVal keyword confused me a little... This is what was giving me grief. I
don't understand why the ByVal keyword is required, especially when it
should be ByRef... Maybe I don't understand those keywords enough yet...

Public Property b() As Sample
Get
Return _b
End Get
Set(ByVal value As Sample) ''''<<<<
_b = value
End Set
End Property

Dec 29 '07 #8
Timothy wrote:
>"Lasse Vågsæther Karlsen" <la***@vkarlsen .nowrote in message
news:ua******* *******@TK2MSFT NGP04.phx.gbl.. .
No, this has nothing to do with properties.

A class is a reference type. A variable, property, field, whatever you
pick, will hold a pointer to a place in memory where the actual class it.

This type of code:

Sample s1 = new Sample();
Sample s2 = s1;

does not produce two copies of an object of Sample. It produces two
references to the one object.

Let me explain it another way.

A house is built from a blueprint, in a location and given an address.
(blueprint is the class, the house is the object, the address is the
reference).

It doesn't matter how many pieces of paper you write down the address
to, if you go to the house and rearrange the furniture, the house from
all those addresses will still be just the one house, and it doesn't
matter which paper you pick, they all lead to the same one house. To
an observer that only reads the address, goes to the house, and
doesn't look at the surroundings, it might look like he has many
pieces of paper that leads to identical (but separate) houses, but
he's in reality just visiting the same house over and over again.

A value type, which is used for structs and all the base types for
numbers (among other things), is not a pointer, and thus the value
itself is copied, which means that each value is separate. You can,
similar to the one above, think of it like a number on a piece of
paper. If you copy the number to a new paper, but then alter the
number on the original paper afterwards, the copy is still as it was
when it was made, ie. unchanged. Now you have two pieces of papers
with different numbers on them.

Strings are something inbetween (simplified explanation). They are
pure reference types, which means that a variable holding a string
holds a pointer to a location in memory where the string data is
stored. The difference is that string objects in .NET are made
immutable, which mean that once they are created, they will never
change. Thus, if you construct a new string, it will be in a different
location in memory, and thus have a new address. If you think of the
house, instead of rearranging the furniture, "changing a string" means
constructing a new, almost identical house, except for the changes
from the original.

This code:

String s1 = "test";
String s2 = s1 + "!";

constructs two string objects, that are different.

All this is true also for Visual Basic.NET and other .NET languages.
If you have evidence to the contrary, I suggest you post it because
I'm confident that there's something else that is different in the VB
solution as well, that makes you observe different things.

Hope all of this was clear, if not, poke holes in it and ask more
questions. If I incorrectly assumed you didn't know all this, I
apologize for the lecture :)

--
Lasse Vågsæther Karlsen
mailto:la***@v karlsen.no
http://presentationmode.blogspot.com/

Thanks for the very informative lecture :-) You have answered my
question, for the most part. If you know a little VB, you may be able to
finish it off. In the code I posted just before (the VB code) I
mentioned that the ByVal keyword confused me a little... This is what
was giving me grief. I don't understand why the ByVal keyword is
required, especially when it should be ByRef... Maybe I don't understand
those keywords enough yet...

Public Property b() As Sample
Get
Return _b
End Get
Set(ByVal value As Sample) ''''<<<<
_b = value
End Set
End Property
ByVal simply means that the method can't pass a new value back, any
changes it makes locally (inside the method) is local, won't affect the
code that called it.

In C# you got something similar, but the "by value" calling convention
is done by default, no keyword for it. Instead of the ByRef keyword,
there is the ref keyword.

This has nothing to do with reference types and value types. Let me
explain it with some C# code.

Assume you have the following code:

public void Change(Sample s)
{
s.a = "Test";
}

This method is passed a reference to the object, and can easily change
the contents of that object. Think of it as passing a piece of paper
with an address to that house I mentioned. The method is free to go to
the house and rearrange the furniture.

However, what it cannot do is change the piece of paper and pass it back
to me so that when I get the paper back (ie. you're done with the
method), there is a different address on the paper.

With a reference parameter, ByRef in VB and ref in C#, you can do that.
In both cases you're free to visit the object and modify it, but with a
reference parameter you can give a new object back to the caller.

Example:

public void Change(Sample s)
{
s.a = "Test";
s = new Sample();
s.a = "Test 2";
}

In this case, the method first modifies the Sample object it was given,
and then constructs a new Sample object and modifies its "s" parameter.
However, the following code:

Sample s1 = new Sample();
Change(s1);
Debug.WriteLine (s1.a);

will output "Test" to the output window, not "Test 2", as this new
object is never given back and thus the reference (address) stored in s1
doesn't change. I'm still refering to the original Sample object I
constructed.

If, on the other hand, you modify Change to pass the "s" parameter by
reference, like this:

public void Change(ref Sample s)

then the output window will now contain "Test 2", as the s1 variable in
the code that called Change is modified.

This means that you now have the following terms to cope with:

Value types - copying one makes a new separate value
Reference types - copying one makes a new reference to the same object
Reference parameters - modifying one in the method changes the variable
in the code that called it

--
Lasse Vågsæther Karlsen
mailto:la***@vk arlsen.no
http://presentationmode.blogspot.com/
Dec 29 '07 #9
"Lasse Vågsæther Karlsen" <la***@vkarlsen .nowrote in message
news:%2******** ********@TK2MSF TNGP03.phx.gbl. ..
Timothy wrote:
>>"Lasse Vågsæther Karlsen" <la***@vkarlsen .nowrote in message
news:ua****** ********@TK2MSF TNGP04.phx.gbl. ..
No, this has nothing to do with properties.

A class is a reference type. A variable, property, field, whatever you
pick, will hold a pointer to a place in memory where the actual class
it.

This type of code:

Sample s1 = new Sample();
Sample s2 = s1;

does not produce two copies of an object of Sample. It produces two
references to the one object.

Let me explain it another way.

A house is built from a blueprint, in a location and given an address.
(blueprint is the class, the house is the object, the address is the
reference).

It doesn't matter how many pieces of paper you write down the address
to, if you go to the house and rearrange the furniture, the house from
all those addresses will still be just the one house, and it doesn't
matter which paper you pick, they all lead to the same one house. To an
observer that only reads the address, goes to the house, and doesn't
look at the surroundings, it might look like he has many pieces of paper
that leads to identical (but separate) houses, but he's in reality just
visiting the same house over and over again.

A value type, which is used for structs and all the base types for
numbers (among other things), is not a pointer, and thus the value
itself is copied, which means that each value is separate. You can,
similar to the one above, think of it like a number on a piece of paper.
If you copy the number to a new paper, but then alter the number on the
original paper afterwards, the copy is still as it was when it was made,
ie. unchanged. Now you have two pieces of papers with different numbers
on them.

Strings are something inbetween (simplified explanation). They are pure
reference types, which means that a variable holding a string holds a
pointer to a location in memory where the string data is stored. The
difference is that string objects in .NET are made immutable, which mean
that once they are created, they will never change. Thus, if you
construct a new string, it will be in a different location in memory,
and thus have a new address. If you think of the house, instead of
rearranging the furniture, "changing a string" means constructing a new,
almost identical house, except for the changes from the original.

This code:

String s1 = "test";
String s2 = s1 + "!";

constructs two string objects, that are different.

All this is true also for Visual Basic.NET and other .NET languages. If
you have evidence to the contrary, I suggest you post it because I'm
confident that there's something else that is different in the VB
solution as well, that makes you observe different things.

Hope all of this was clear, if not, poke holes in it and ask more
questions. If I incorrectly assumed you didn't know all this, I
apologize for the lecture :)

--
Lasse Vågsæther Karlsen
mailto:la***@ vkarlsen.no
http://presentationmode.blogspot.com/

Thanks for the very informative lecture :-) You have answered my
question, for the most part. If you know a little VB, you may be able to
finish it off. In the code I posted just before (the VB code) I mentioned
that the ByVal keyword confused me a little... This is what was giving me
grief. I don't understand why the ByVal keyword is required, especially
when it should be ByRef... Maybe I don't understand those keywords enough
yet...

Public Property b() As Sample
Get
Return _b
End Get
Set(ByVal value As Sample) ''''<<<<
_b = value
End Set
End Property

ByVal simply means that the method can't pass a new value back, any
changes it makes locally (inside the method) is local, won't affect the
code that called it.

In C# you got something similar, but the "by value" calling convention is
done by default, no keyword for it. Instead of the ByRef keyword, there is
the ref keyword.

This has nothing to do with reference types and value types. Let me
explain it with some C# code.

Assume you have the following code:

public void Change(Sample s)
{
s.a = "Test";
}

This method is passed a reference to the object, and can easily change the
contents of that object. Think of it as passing a piece of paper with an
address to that house I mentioned. The method is free to go to the house
and rearrange the furniture.

However, what it cannot do is change the piece of paper and pass it back
to me so that when I get the paper back (ie. you're done with the method),
there is a different address on the paper.

With a reference parameter, ByRef in VB and ref in C#, you can do that. In
both cases you're free to visit the object and modify it, but with a
reference parameter you can give a new object back to the caller.

Example:

public void Change(Sample s)
{
s.a = "Test";
s = new Sample();
s.a = "Test 2";
}

In this case, the method first modifies the Sample object it was given,
and then constructs a new Sample object and modifies its "s" parameter.
However, the following code:

Sample s1 = new Sample();
Change(s1);
Debug.WriteLine (s1.a);

will output "Test" to the output window, not "Test 2", as this new object
is never given back and thus the reference (address) stored in s1 doesn't
change. I'm still refering to the original Sample object I constructed.

If, on the other hand, you modify Change to pass the "s" parameter by
reference, like this:

public void Change(ref Sample s)

then the output window will now contain "Test 2", as the s1 variable in
the code that called Change is modified.

This means that you now have the following terms to cope with:

Value types - copying one makes a new separate value
Reference types - copying one makes a new reference to the same object
Reference parameters - modifying one in the method changes the variable in
the code that called it

--
Lasse Vågsæther Karlsen
mailto:la***@vk arlsen.no
http://presentationmode.blogspot.com/
Wow, thank you! I understand it all now.

Dec 29 '07 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
2996
by: Rick Austin | last post by:
I recently had to perform a reinstalltion of Windows XP (my registry seems to have become corrupt). After this completed I had to reinstall all applications since most use the registry for settings, etc. After installing VS.NET 2003 everything seemed to work okay with one exception, none of the project properties appear. If I right click a project...
4
7504
by: Lyn | last post by:
Hi, This question may seem a bit academic... To learn more about Access VBA, I have been enumerating the properties of various form controls. This was mostly successful and I have learned a lot from the process. It occurred to me that I could also enumerate the properties of the ADO Recordset in similar fashion, expecting to get back...
10
7349
by: Sunny | last post by:
Hi, I have an old problem which I couldn't solve so far. Now I have found a post in that group that gave me an idea, but I can not fully understand it. The problem is: I'm trying to use a Windows.Forms.UserControl in a COM environment, i.e. I want to host that control in a COM host. So far, so good, I can host it, but I can not reach the...
6
5173
by: JerryP | last post by:
Hello, is there a way to launch the property dialogue for a directory from my c# app ? I would also like to launch the User Account Properties from Active Directory Users and Computers, and the properties window for an Object in Active Directory. Thanks for any hints.
3
5073
by: Martin Montgomery | last post by:
I have, for example, a property called myProperty. I would like, when using a property grid to display the property name as "My Property". Is this possible. Is there an attribute etc Thank Martin
7
8514
by: Donald Grove | last post by:
Is it possible to retrieve field properties from a table in access2000 using code? I have tried: " dim dbs as dao.database dim tbl as dao.tabledef dim fld as dao.field dim prop as dao.property
1
1652
by: Christophe Peillet | last post by:
I have a CompositeControl with two types of properties: 1.) Mapped Properties that map directly to a child control's properties (ex.: this.TextboxText = m_txt.Text). These properties are handled by their underlying classes (such as the TextBox control), and are not persisted by me. 2.) Unique Properties that don't map directly and are...
7
6056
by: Anderskj | last post by:
Hi! I am developing a c# application. I have a interface (which can change therefore my problem) If i do like this: List<PropertyInfoproperties = new List<PropertyInfo>(); properties.AddRange(typeof(app.IView).GetProperties());
0
2825
by: =?Utf-8?B?UmljayBHbG9z?= | last post by:
For some unknown reason (user error?), I cannot get a NameValueCollection to persist in the app.config file. Unlike other settings, I cannot get the String Collection Editor GUI to allow my to add/edit any values for a setting with type NameValueCollection. Nor can I get a NameValueCollection to persist to the User Settings via code using...
4
9841
by: FullBandwidth | last post by:
I have been perusing various blogs and MSDN pages discussing the use of event properties and the EventHandlerList class. I don't believe there's anything special about the EventHandlerList class in this context, in fact some articles from pre-2.0 suggest using any collection class of your choice. So my questions focus more on the syntax of...
0
7789
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main...
0
8037
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. ...
1
7800
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For...
1
5605
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes...
0
5296
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert...
0
3737
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in...
1
2227
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
1
1325
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
0
1048
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.