473,897 Members | 2,991 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Typed DataSet in DLL points to wrong database!

I have a DLL that implements the Business and Data Layers for a number of
different websites. That DLL uses a Strongly Typed DataSet to interface to
the Data Source which is SQL Server.

There is a connection string in the DLL that is causes me grief. It points
at a particular instance of database. I hae to recompile the DLL for each
WebSite.

How can I re-use that DLL on different websites and have it point to
different instances of the Database without recompiling it?? Perhaps
configurable in Web.Config??

TIA,
George
Jun 27 '08 #1
7 1747
set up a connection string in the web config of each site
<connectionStri ngs>
<add name="MyConnect ionString" connectionStrin g="Data
Source=sqlhost. server.com;Init ial Catalog=trepidu scom;Persist Security
Info=True;User ID=MYID;Passwor d=XXXX" providerName="S ystem.Data.SqlC lient"/>

</connectionStrin gs>

then create an appconfig name space:
using System.Configur ation;

namespace MyCompany.MyNam e.Dal
{
/// <summary>
/// The AppConfiguarati on class for the web.config file connection
string.
/// </summary>
public static class AppConfiguratio n
{
#region Public Properties

/// <summary>
/// Returns the connectionstrin g for the application.
/// </summary>
public static string ConnectionStrin g
{
get
{
return
ConfigurationMa nager.Connectio nStrings["MyConnectionSt ring"].ConnectionStri ng;
}
}
}
}
then in your connection
area
using (SqlConnection Con = new
SqlConnectionAp pConfiguration. ConnectionStrin g))
{
......
......
......
}
just be sure to includ a using MyCompany.MyNam e.Dal; at the top
--
Share The Knowledge. I need all the help I can get and so do you!
"MaxGruven" wrote:
I have a DLL that implements the Business and Data Layers for a number of
different websites. That DLL uses a Strongly Typed DataSet to interface to
the Data Source which is SQL Server.

There is a connection string in the DLL that is causes me grief. It points
at a particular instance of database. I hae to recompile the DLL for each
WebSite.

How can I re-use that DLL on different websites and have it point to
different instances of the Database without recompiling it?? Perhaps
configurable in Web.Config??

TIA,
George
Jun 27 '08 #2
There is a paren missing
it should be
using (SqlConnection Con = new
SqlConnection(A ppConfiguration .ConnectionStri ng))
{
--
Share The Knowledge. I need all the help I can get and so do you!
"Yankee Imperialist Dog" wrote:
set up a connection string in the web config of each site
<connectionStri ngs>
<add name="MyConnect ionString" connectionStrin g="Data
Source=sqlhost. server.com;Init ial Catalog=trepidu scom;Persist Security
Info=True;User ID=MYID;Passwor d=XXXX" providerName="S ystem.Data.SqlC lient"/>

</connectionStrin gs>

then create an appconfig name space:
using System.Configur ation;

namespace MyCompany.MyNam e.Dal
{
/// <summary>
/// The AppConfiguarati on class for the web.config file connection
string.
/// </summary>
public static class AppConfiguratio n
{
#region Public Properties

/// <summary>
/// Returns the connectionstrin g for the application.
/// </summary>
public static string ConnectionStrin g
{
get
{
return
ConfigurationMa nager.Connectio nStrings["MyConnectionSt ring"].ConnectionStri ng;
}
}
}
}
then in your connection
area
using (SqlConnection Con = new
SqlConnectionAp pConfiguration. ConnectionStrin g))
{
.....
.....
.....
}
just be sure to includ a using MyCompany.MyNam e.Dal; at the top
--
Share The Knowledge. I need all the help I can get and so do you!
"MaxGruven" wrote:
I have a DLL that implements the Business and Data Layers for a number of
different websites. That DLL uses a Strongly Typed DataSet to interface to
the Data Source which is SQL Server.

There is a connection string in the DLL that is causes me grief. It points
at a particular instance of database. I hae to recompile the DLL for each
WebSite.

How can I re-use that DLL on different websites and have it point to
different instances of the Database without recompiling it?? Perhaps
configurable in Web.Config??

TIA,
George
Jun 27 '08 #3
Since each web site would have its own web.config, set up the connection
string in the <connectionStri ngs... element
in the Assembly, you would get the proper connection string with:

ConfigurationMa nager.Connectio nStrings["myConn"].ConnectionStri ng;

Your assembly would need to have a reference to System.Configur ation.

Peter

"MaxGruven" <Ma*******@news group.nospamwro te in message
news:04******** *************** ***********@mic rosoft.com...
>I have a DLL that implements the Business and Data Layers for a number of
different websites. That DLL uses a Strongly Typed DataSet to interface
to
the Data Source which is SQL Server.

There is a connection string in the DLL that is causes me grief. It
points
at a particular instance of database. I hae to recompile the DLL for each
WebSite.

How can I re-use that DLL on different websites and have it point to
different instances of the Database without recompiling it?? Perhaps
configurable in Web.Config??

TIA,
George
Jun 27 '08 #4
Where do I put the reference to connection string in the BL/DL Assembly?

Does it go in Project/Properties/Settings or app.config or in code somewhere?

AND

What Connection String gets used when just working on the BL/DL Assembly
when there is no website (during development)??

TIA,
George

"Peter Bromberg [C# MVP]" wrote:
Since each web site would have its own web.config, set up the connection
string in the <connectionStri ngs... element
in the Assembly, you would get the proper connection string with:

ConfigurationMa nager.Connectio nStrings["myConn"].ConnectionStri ng;

Your assembly would need to have a reference to System.Configur ation.

Peter

"MaxGruven" <Ma*******@news group.nospamwro te in message
news:04******** *************** ***********@mic rosoft.com...
I have a DLL that implements the Business and Data Layers for a number of
different websites. That DLL uses a Strongly Typed DataSet to interface
to
the Data Source which is SQL Server.

There is a connection string in the DLL that is causes me grief. It
points
at a particular instance of database. I hae to recompile the DLL for each
WebSite.

How can I re-use that DLL on different websites and have it point to
different instances of the Database without recompiling it?? Perhaps
configurable in Web.Config??

TIA,
George
Jun 27 '08 #5
Hi George,

As for the TypedDataSet(in class library project)'s connectionstrin g
problem, it is a common question I've seen. Actually, you can override the
connectionstrin g in your consumer application(asp .net or other desktop)'s
app.config file.

For example, in your class library, when you created type dataset, it will
generate the following section in the class library's app.config file:

===============

<connectionStri ngs>
<add
name="ClassLibr ary1.Properties .Settings.MYASP DBConnectionStr ing"
connectionStrin g="Data Source=localhos t;Initial
Catalog=MYASPDB ;Integrated Security=True"
providerName="S ystem.Data.SqlC lient" />
</connectionStrin gs>
===============

this is generated by the IDE for your typedataset. You can try adding such
a connectionstrin g entry in your calling application( the asp.net )'s
app.config file to override the default value(compiled in class library
assembly).

here are some former threads where I've mentioened something else about
such customziation of class library's project properties:

#app.config
http://groups.google.com/group/micro.../browse_thread
/thread/cba21e1cfca4585 a/d3b4969cae7a600 e

#Question on how to manage SQL Server connection string Options
http://groups.google.com/group/micro...rk.webservices
/browse_thread/thread/e8b06265ba1c2b3 3/3c2a56cc046e4b1 c

Sincerely,

Steven Cheng

Microsoft MSDN Online Support Lead
Delighting our customers is our #1 priority. We welcome your comments and
suggestions about how we can improve the support we provide to you. Please
feel free to let my manager know what you think of the level of service
provided. You can send feedback directly to my manager at:
ms****@microsof t.com.

=============== =============== =============== =====
Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/subscripti...ult.aspx#notif
ications.

Note: The MSDN Managed Newsgroup support offering is for non-urgent issues
where an initial response from the community or a Microsoft Support
Engineer within 1 business day is acceptable. Please note that each follow
up response may take approximately 2 business days as the support
professional working with you may need further investigation to reach the
most efficient resolution. The offering is not appropriate for situations
that require urgent, real-time or phone-based interactions or complex
project analysis and dump analysis issues. Issues of this nature are best
handled working with a dedicated Microsoft Support Engineer by contacting
Microsoft Customer Support Services (CSS) at
http://msdn.microsoft.com/subscripti...t/default.aspx.
=============== =============== =============== =====
This posting is provided "AS IS" with no warranties, and confers no rights.
--------------------
>From: =?Utf-8?B?TWF4R3J1dmV u?= <Ma*******@news group.nospam>
References: <04************ *************** *******@microso ft.com>
<53************ *************** *******@microso ft.com>
>Subject: Re: Typed DataSet in DLL points to wrong database!
Date: Thu, 5 Jun 2008 15:41:02 -0700
>
Where do I put the reference to connection string in the BL/DL Assembly?

Does it go in Project/Properties/Settings or app.config or in code
somewhere?
>
AND

What Connection String gets used when just working on the BL/DL Assembly
when there is no website (during development)??

TIA,
George

"Peter Bromberg [C# MVP]" wrote:
>Since each web site would have its own web.config, set up the connection
string in the <connectionStri ngs... element
in the Assembly, you would get the proper connection string with:

ConfigurationM anager.Connecti onStrings["myConn"].ConnectionStri ng;

Your assembly would need to have a reference to System.Configur ation.

Peter

"MaxGruven" <Ma*******@news group.nospamwro te in message
news:04******* *************** ************@mi crosoft.com...
>I have a DLL that implements the Business and Data Layers for a number
of
different websites. That DLL uses a Strongly Typed DataSet to
interface
to
the Data Source which is SQL Server.

There is a connection string in the DLL that is causes me grief. It
points
at a particular instance of database. I hae to recompile the DLL for
each
WebSite.

How can I re-use that DLL on different websites and have it point to
different instances of the Database without recompiling it?? Perhaps
configurable in Web.Config??

TIA,
George
Jun 27 '08 #6
That was it Steven!

Thanks for your help,
George

"Steven Cheng [MSFT]" wrote:
Hi George,

As for the TypedDataSet(in class library project)'s connectionstrin g
problem, it is a common question I've seen. Actually, you can override the
connectionstrin g in your consumer application(asp .net or other desktop)'s
app.config file.

For example, in your class library, when you created type dataset, it will
generate the following section in the class library's app.config file:

===============

<connectionStri ngs>
<add
name="ClassLibr ary1.Properties .Settings.MYASP DBConnectionStr ing"
connectionStrin g="Data Source=localhos t;Initial
Catalog=MYASPDB ;Integrated Security=True"
providerName="S ystem.Data.SqlC lient" />
</connectionStrin gs>
===============

this is generated by the IDE for your typedataset. You can try adding such
a connectionstrin g entry in your calling application( the asp.net )'s
app.config file to override the default value(compiled in class library
assembly).

here are some former threads where I've mentioened something else about
such customziation of class library's project properties:

#app.config
http://groups.google.com/group/micro.../browse_thread
/thread/cba21e1cfca4585 a/d3b4969cae7a600 e

#Question on how to manage SQL Server connection string Options
http://groups.google.com/group/micro...rk.webservices
/browse_thread/thread/e8b06265ba1c2b3 3/3c2a56cc046e4b1 c

Sincerely,

Steven Cheng

Microsoft MSDN Online Support Lead
Delighting our customers is our #1 priority. We welcome your comments and
suggestions about how we can improve the support we provide to you. Please
feel free to let my manager know what you think of the level of service
provided. You can send feedback directly to my manager at:
ms****@microsof t.com.

=============== =============== =============== =====
Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/subscripti...ult.aspx#notif
ications.

Note: The MSDN Managed Newsgroup support offering is for non-urgent issues
where an initial response from the community or a Microsoft Support
Engineer within 1 business day is acceptable. Please note that each follow
up response may take approximately 2 business days as the support
professional working with you may need further investigation to reach the
most efficient resolution. The offering is not appropriate for situations
that require urgent, real-time or phone-based interactions or complex
project analysis and dump analysis issues. Issues of this nature are best
handled working with a dedicated Microsoft Support Engineer by contacting
Microsoft Customer Support Services (CSS) at
http://msdn.microsoft.com/subscripti...t/default.aspx.
=============== =============== =============== =====
This posting is provided "AS IS" with no warranties, and confers no rights.
--------------------
From: =?Utf-8?B?TWF4R3J1dmV u?= <Ma*******@news group.nospam>
References: <04************ *************** *******@microso ft.com>
<53************ *************** *******@microso ft.com>
Subject: Re: Typed DataSet in DLL points to wrong database!
Date: Thu, 5 Jun 2008 15:41:02 -0700

Where do I put the reference to connection string in the BL/DL Assembly?

Does it go in Project/Properties/Settings or app.config or in code
somewhere?

AND

What Connection String gets used when just working on the BL/DL Assembly
when there is no website (during development)??

TIA,
George

"Peter Bromberg [C# MVP]" wrote:
Since each web site would have its own web.config, set up the connection
string in the <connectionStri ngs... element
in the Assembly, you would get the proper connection string with:

ConfigurationMa nager.Connectio nStrings["myConn"].ConnectionStri ng;

Your assembly would need to have a reference to System.Configur ation.

Peter

"MaxGruven" <Ma*******@news group.nospamwro te in message
news:04******** *************** ***********@mic rosoft.com...
I have a DLL that implements the Business and Data Layers for a number
of
different websites. That DLL uses a Strongly Typed DataSet to
interface
to
the Data Source which is SQL Server.

There is a connection string in the DLL that is causes me grief. It
points
at a particular instance of database. I hae to recompile the DLL for
each
WebSite.

How can I re-use that DLL on different websites and have it point to
different instances of the Database without recompiling it?? Perhaps
configurable in Web.Config??

TIA,
George

Jun 27 '08 #7
You're welcome George,

Have a nice day!

Sincerely,

Steven Cheng

Microsoft MSDN Online Support Lead
Delighting our customers is our #1 priority. We welcome your comments and
suggestions about how we can improve the support we provide to you. Please
feel free to let my manager know what you think of the level of service
provided. You can send feedback directly to my manager at:
ms****@microsof t.com.

=============== =============== =============== =====
Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/subscripti...ult.aspx#notif
ications.
=============== =============== =============== =====
This posting is provided "AS IS" with no warranties, and confers no rights.
--------------------
>From: =?Utf-8?B?TWF4R3J1dmV u?= <Ma*******@news group.nospam>
References: <04************ *************** *******@microso ft.com>
<53************ *************** *******@microso ft.com>
<A0************ *************** *******@microso ft.com>
<fM************ **@TK2MSFTNGHUB 02.phx.gbl>
>Subject: Re: Typed DataSet in DLL points to wrong database!
Date: Fri, 6 Jun 2008 06:54:01 -0700
>
That was it Steven!

Thanks for your help,
George

"Steven Cheng [MSFT]" wrote:
>Hi George,

As for the TypedDataSet(in class library project)'s connectionstrin g
problem, it is a common question I've seen. Actually, you can override
the
>connectionstri ng in your consumer application(asp .net or other
desktop)'s
>app.config file.

For example, in your class library, when you created type dataset, it
will
>generate the following section in the class library's app.config file:

============== =

<connectionStr ings>
<add
name="ClassLib rary1.Propertie s.Settings.MYAS PDBConnectionSt ring"
connectionStrin g="Data Source=localhos t;Initial
Catalog=MYASPD B;Integrated Security=True"
providerName="S ystem.Data.SqlC lient" />
</connectionStrin gs>
============== =

this is generated by the IDE for your typedataset. You can try adding
such
>a connectionstrin g entry in your calling application( the asp.net )'s
app.config file to override the default value(compiled in class library
assembly).

here are some former threads where I've mentioened something else about
such customziation of class library's project properties:

#app.config
http://groups.google.com/group/micro.../browse_thread
>/thread/cba21e1cfca4585 a/d3b4969cae7a600 e

#Question on how to manage SQL Server connection string Options
http://groups.google.com/group/micro...rk.webservices
>/browse_thread/thread/e8b06265ba1c2b3 3/3c2a56cc046e4b1 c

Sincerely,

Steven Cheng

Microsoft MSDN Online Support Lead
Delighting our customers is our #1 priority. We welcome your comments
and
>suggestions about how we can improve the support we provide to you.
Please
>feel free to let my manager know what you think of the level of service
provided. You can send feedback directly to my manager at:
ms****@microsof t.com.

============== =============== =============== ======
Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/subscripti...ult.aspx#notif
>ications.

Note: The MSDN Managed Newsgroup support offering is for non-urgent
issues
>where an initial response from the community or a Microsoft Support
Engineer within 1 business day is acceptable. Please note that each
follow
>up response may take approximately 2 business days as the support
professional working with you may need further investigation to reach
the
>most efficient resolution. The offering is not appropriate for
situations
>that require urgent, real-time or phone-based interactions or complex
project analysis and dump analysis issues. Issues of this nature are
best
>handled working with a dedicated Microsoft Support Engineer by
contacting
>Microsoft Customer Support Services (CSS) at
http://msdn.microsoft.com/subscripti...t/default.aspx.
============== =============== =============== ======
This posting is provided "AS IS" with no warranties, and confers no
rights.
>>

--------------------
>From: =?Utf-8?B?TWF4R3J1dmV u?= <Ma*******@news group.nospam>
References: <04************ *************** *******@microso ft.com>
<53*********** *************** ********@micros oft.com>
>Subject: Re: Typed DataSet in DLL points to wrong database!
Date: Thu, 5 Jun 2008 15:41:02 -0700
>
Where do I put the reference to connection string in the BL/DL Assembly?

Does it go in Project/Properties/Settings or app.config or in code
somewhere?
>
AND

What Connection String gets used when just working on the BL/DL
Assembly
>when there is no website (during development)??

TIA,
George

"Peter Bromberg [C# MVP]" wrote:

Since each web site would have its own web.config, set up the
connection
>string in the <connectionStri ngs... element
in the Assembly, you would get the proper connection string with:

ConfigurationM anager.Connecti onStrings["myConn"].ConnectionStri ng;

Your assembly would need to have a reference to System.Configur ation.

Peter

"MaxGruven" <Ma*******@news group.nospamwro te in message
news:04******* *************** ************@mi crosoft.com...
I have a DLL that implements the Business and Data Layers for a
number
>of
different websites. That DLL uses a Strongly Typed DataSet to
interface
to
the Data Source which is SQL Server.

There is a connection string in the DLL that is causes me grief.
It
points
at a particular instance of database. I hae to recompile the DLL
for
>each
WebSite.

How can I re-use that DLL on different websites and have it point to
different instances of the Database without recompiling it??
Perhaps
configurable in Web.Config??

TIA,
George


Jun 27 '08 #8

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

Similar topics

0
1706
by: Natehop | last post by:
I've been attempting to design an n-tiered framework leveraging .NET's strongly typed Dataset. My Framework will serve as the foundation to several client apps from Windows applications to web sites and web services. The architecture consists of a business rules tier, a data tier, and a common tier. The common tier contains my typed Datasets while the business rules and data tiers contain functions to populate and save the common...
2
945
by: Rob Richardson | last post by:
Greetings! I have a database with a table named Holdings. I has VB.Net create a .xsd file for it so that I could use a typed dataset with it. The table has 21 rows. If I use ordinary datasets, I get a DataTable object with 21 rows. If I use a typed dataset, I get a HoldingTable object with 0 rows. What am I doing wrong? Here's the code: Dim holdingsAdapter As New OleDbDataAdapter() Dim holdingsSet As New HoldingsDataSet()
1
9366
by: Optimus | last post by:
Hi everyone, I currently develop an application in vs.net 2005 with vb.net. I was trying to use typed dataset and I've got in trouble for converting untyped dataset into Typed DataSet. I don't know why I cannot perform this casting operation properly. First off, I've got my Typed DataSet named "AuthInfo" declared and I then created an instance of that class. What I'd like to do next is to perform querying through the method...
7
1805
by: Bob | last post by:
Hi, I have a typed unbound dataset that is passed to a datahandling class to be filled. The datahandling class fills it from a sproc using an oledbDataAdapter (SQLAnywhere database) The only table in the dataset has two int32 columns. There is one row of data and as expected, column 0 contains an int and column 1 contains a null. I want to update column1. The following code executes but the row cell remains unchanged.
8
1996
by: Harry Strybos | last post by:
Visual Studio 2005 - SP1 - VB.Net on WinXP SP2 I add a typed dataset to my solution and get the following errors : Error 1 sub 'ReadXmlSerializable' cannot be declared 'Overrides' because it does not override a sub in a base class. C:\AAProjects.Net\TRM8\TRM8.UI\Reports\BillingReport.Designer.vb 125 29 TRM8.UI Error 2 'Protected Overrides Function GetSchemaSerializable() As
21
2448
by: Peter Bradley | last post by:
Hi all, This post is sort of tangentially related to my earlier posts on configuration files for DLLs. Does anyone know how to create typed DataSets using VS2005's new DataSet designer, but with the ability to configure the connection string via a config file? The designer seems to hard-code the connection string into the dataset itself, which just can't be right.
3
3373
by: Surya | last post by:
Dear All, I have problem on inserting a record to database..Although it looked easy.. i have caught up with following issue .. please go ahead and help me to find solution I Need to insert records to a data base,for which i am using Typed dataSet.(I used DataSet Designer to create one) Then created a table adapter in which i have written query for INSERT , & set Database Direct property to true.(I didnt use a seperate methods for...
4
3117
by: Rachana | last post by:
Hi, I have understood Data Sets but what is meant by typed/untyped/ strongly typed datasets. Can any one explain me or suggest any site/ article, to get these concepts (and their comparisions) cleared? Thanks, Rachana
12
3609
by: BillE | last post by:
I'm trying to decide if it is better to use typed datasets or business objects, so I would appreciate any thoughts from someone with more experience. When I use a business object to populate a gridview, for example, I loop through a datareader, populating an array list with instances of a custom class in the middle tier, and then send the array list up to the presentation layer and bind the gridview to it. If I use a typed dataset, I...
0
9837
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10850
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
0
9656
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
8032
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 instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
7185
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 into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
6074
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
4698
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
2
4293
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
3300
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 effective websites that not only look great but also perform exceptionally well. In this comprehensive...

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.