C# Tutorials and offshore development in India
    Tutorials   Resources   Forum   Communities   Interview   Jobs   Projects   Offshore Development    
Silverlight Tutorials | Mentor | Code Converter | Articles | Code Factory | Computer Jokes | Members | Peer Appraisal | IT Companies | Bookmarks | Revenue Sharing |


Prizes & Awards
My Profile



Active Members
TodayLast 7 Days more...

New Feature: Community Sites: Create your own .NET community website and start earning from Google AdSense ! It's Free !




regarding answers


Posted Date: 09 Jun 2008      Total Responses: 15

Posted By: vaddesreenivasulu       Member Level: Gold     Points: 1


1)How Can we use multiple forms in single asp.net application?
2)What is the Main difference between String and StringBuilder and why do we use StringBuilder
3)What is the difference between TypeOf, GetType and what are the uses of TypeOf, GetType.
4)which one is faster execute reader, scalar, execute non query ?
5)can machine.config file orverrides web.config. For example: if u set session timeout as 30 mins in web.config file to a particular application and if u set session timeout as 10 mins in machin.config. what will happen and which session is set to the appliction?
6)what is connection pooling ?
7)How can i include both C# and vb.net classes in same solution?
8)Can i have both C# and vb.net code in same assembly?how?
9) What is the command to connect to a StoredProcedure?
How many types of Adapters are available in ADO.NET?

10)The question is "After sign out from email, Then we click a
back button , we can't go to the previous page ie inbox
page, It is displaying a login form only"
My doubt is How will code this
11)can i use two web.config files of ConnectionString in One Default.aspx page




Responses

Author: komaladevi    09 Jun 2008Member Level: GoldRating:     Points: 2
http://www.vbdotnetheaven.com/UploadFile/avi_sanjay/MultiForms.htm12142006233855PM/MultiForms.htm.aspx -------- for 1q


Author: komaladevi    09 Jun 2008Member Level: GoldRating:     Points: 2
Q: What is the Main difference between String and StringBuilder and why do we use StringBuilder.
Answer:


String bulider Can Be Used When More Than One String Can we
concatenated.
StringBuilder which is more efficient because it does
contain a mutable string buffer. .NET Strings are immutable
which is the reason why a new string object is created
every time we alter it (insert, append, remove, etc.).

StringBulider Is more Effiecent Then String B'Cuse It
Provide Some Standered Function like Append,Reverse,Remove
etc.




Author: komaladevi    09 Jun 2008Member Level: GoldRating:     Points: 2
Re: What is the Main difference between String and StringBuilder and why do we use StringBuilder.
Answer
# 2

Strings are immutable means Data value maynot be Changed and
Variable value may be changed.
StringBuilder performs is faster than Strings. and also
designed for Mutable Strings
we can use like this
System.text.StringBuilder


Author: komaladevi    09 Jun 2008Member Level: GoldRating:     Points: 2
How Can we use multiple forms in single asp.net application?
Answer
# 1

ASP.NET pages can contain no more than one HTML form and
can post only to itself, but you can work around this
limitation to add extra input forms



How can I use multiple HTML forms in an ASP.NET
application? How can I build a page to make it contain a
small form in a corner for users to login or start a
search? These are frequently asked questions from those who
do serious ASP.NET development. The problem arises from the
fact that ASP.NET forces a single-form programming model.
In HTML, the form is the construct designed to gather some
input data and post it to the server for further
processing. The form is seen as a collection of <input>
tags such as textboxes, drop-down lists, and checkboxes,
whose contents are automatically collected and posted when
a submit button is pressed. Likewise, the same finalizing
process can be started via script. In HTML, you can have as
many forms as you like in each and every HTML page. This
structure has been maintained in Active Server Pages (ASP),
mostly because ASP is a sort of wrapper built around the
HTML page. In the end, with ASP you create the page
structure from an HTML basement with some opened windows of
dynamically generated markup.

ASP.NET is quite different and qualifies as a true runtime
environment that enforces its own programming rules to
generate the same kind of output—HTML markup. In doing so,
ASP.NET mandates that, at most, one form is supported, and
any submissions the web server can receive from a page
should target the same original URL. In short, each ASP.NET
page can contain no more than one HTML form and can post
only to itself.

There are many benefits to the ASP.NET programming model
out of this pattern, the most important of which is the
ability to handle postback events on top of a stateful
architecture. In ASP, how did you manage to maintain the
state of input elements across two successive requests for
the same page? Should I say it? I guess you were forcing
the action attribute of the HTML form to the same URL of
the current page and using some code blocks and the session
state to restore key attributes on input fields. At its
core, this is just what ASP.NET does, except that it uses
viewstate instead of session state and that it promotes the
model to rank of a “mandatory” rather than “optional”
feature.

In summary, to be able to use ASP.NET server controls for
capturing some user input, you have to use the ASP.NET
server form control. In doing so, you lose the power of
controlling the action attribute of the form and are
limited to, at most, one form per page.

Hence the initial question, how can you insert a second
form in an ASP.NET page?

If your goal is “changing” the form from time to time,
obeying different runtime conditions, then be aware that
the enforced rule states that only one form can be visible
at any time. So you can place as many as <form
runat=server> tags as needed in a page, as long as only one
of them is marked with visible=true. By acting on the
visible attribute, you can programmatically switch from one
form to the next.

If your goal is having a “child” form for login or search
purposes, the solution is even simpler: Stick to classic
HTML forms; that is, <form> tags devoid of the runat
attribute. ASP.NET doesn’t exercise any control on tags not
marked with the runat attribute and you’re just fine until
HTML supports multiple forms. What do you lose in the
change? The ability of using postbacks in the target page
of the login or search. Just use the ASP classic
programming model—the Request object—and you’re all set.


Author: komaladevi    09 Jun 2008Member Level: GoldRating:     Points: 2
Difference between typeof and GetType ----
typeof and GetType produce the exact same information. But the difference is where they get this information from:

* typeof is used to get the type based on a class. That means if you use typeof with object, it will gives you error. You must pass class as parameter parameter.
* Where GetType is used to get the type based on an object (an instance of a class). Means GetType needs parameter of object rather than class name.

You can understand more with example.

The following code will output “True”:

string instance = “”;

Type type1 = typeof(string);

Type type2 = instance.GetType();

Console.WriteLine(type1 == type2);



Author: komaladevi    09 Jun 2008Member Level: GoldRating:     Points: 2
which one is faster execute reader, scalar, execute non query ?
Answer
# 1

execute reader


Author: komaladevi    09 Jun 2008Member Level: GoldRating:     Points: 2
can machine.config file orverrides web.config. For example: if u set session timeout as 30 mins in web.config file to a particular application and if u set session timeout as 10 mins in machin.config. what will happen and which session is set to the appliction?
Answer
# 1

As the Web.Config file defines application level
settings.It'll override the settings of the machine.config
file.So the session timeout as 30 mins defined in web.config
file is set to the application.


Author: srilu    09 Jun 2008Member Level: DiamondRating:     Points: 2
Connection pooling means reusing and existing and open connection to the database for multiple requests withtout opening a new connection on each request.You can set the max limit for number of connections in the web.config file, and upto that limit, new connection will be created for each connection request, but after that, it will check for an idle connection, and allocate that to the new connection request.The max limit is 100 connnections.


Author: komaladevi    09 Jun 2008Member Level: GoldRating:     Points: 2
Connection Pooling

* Visit
* Rate
* Error

Visit Connection Pooling

Most people have heard of Connection Pooling and most applications make use of it, but not everyone understands what it is or how it works. To help shed some light on the topic, this article will present an in depth look at connection pooling and how it is implemented. After an explanation of connection pooling, this article will look how it is enabled and configured in non traditional ASP (non .NET) applications and then at connection pooling in ASP.NET applications, pointing out similarities and differences between the two. Connection Pooling in ASP vs ASP.NET Applications was written by Jeremy Raccio for ASPToday. The ebook (e-book) requires that you have Adobe Acrobat Reader installed so that you can view PDF files. This title is not compatible with Pocket PCs, PDAs, or other handhelds. It is both compatible with Macintosh OS 9.x or later and Windows.


Author: komaladevi    09 Jun 2008Member Level: GoldRating:     Points: 2
http://www.codeproject.com/KB/dotnet/ADONET_ConnectionPooling.aspx



http://www.15seconds.com/issue/040830.htm


Author: srilu    09 Jun 2008Member Level: DiamondRating:     Points: 2
You can have both VC.NET and C# clasess in the same applications, but u cannot directly use them.U need to develop them seperately, build their DLL and add their reference to the application and then only use those classes.


Author: komaladevi    09 Jun 2008Member Level: GoldRating:     Points: 2
How can i include both C# and vb.net classes in same solution?
Answer
# 2

Step 1:
It is possible,In app-Code folder create sub folders
named VB,CS(as you like) and clreate .vb class files in the
folder named VB and .cs class files in the CS folder.
Step 2:
Go to web.config file and mention the following
<compilation debug="false">
<codeSubDirectories>
<add directoryName="VB" />
<add directoryName="CS" />
</codeSubDirectories>
</compilation>


Author: komaladevi    09 Jun 2008Member Level: GoldRating:     Points: 2
http://www.geekpedia.com/tutorial92_Creating-and-using-stored-procedures.html


Author: komaladevi    09 Jun 2008Member Level: GoldRating:     Points: 2
There are several types of data adapters. Out of the box you have the availability of a SQL data adapter, OLEDb data adapter, ODBC data adapter and an Oracle data adapter. I have not done it, but I don't see any reason why you cannot create your own data adapters as well. Remember, everything in the .NET environment is based upon the namespace that contains the classes or the components of the DLL file that we are referencing. If someone has created a Lotus Notes data adapter, for example, simply copy that DLL file locally and add it as a reference to your project to gain access to its classes.

The names of the data adapters are self-explanatory. You can use the OLE or the ODBC data adapters to connect to miscellaneous data sources such as dBase, Access, FoxPro, etc. Let's continue in this example by revisiting our CD project from the ADO discussion.

To use a data adapter, you must supply it with an accompanying data connection and generate a data set. You will then fill the data adapter with data from the data set and bind it to a list-bound or Web-bound control. It is very easy to do this by dragging and dropping the objects onto your Web form. This will invoke wizards that will guide you through the configuration process and automatically create all of your code within the code-behind. Let's look at two examples -- one is an ODBC application done in VB, the other an OLE application done in C#:

First, let's look at the ODBC approach. Begin by creating a data connection. You can either code it manually, create if from the server explorer or drag and drop an ODBCConnection object onto the Web form. I have found the easiest way to create the connection in the server explorer, which will make it an available source when configuring your data adapter. To do this, open the server explorer and right click on data connections, then select "Add Connection." Choose "Microsoft OLE DB Provider for ODBC Drivers" as the provider, then choose to build your connection string via the button in the connection area. This will invoke a wizard that creates a DSN entry within your application. This will look very familiar to anyone who worked with early versions of ASP for Access connectivity. Upon completion, you will return to the Web form, and the connection will be visible as a data connection in your server explorer. Drag and drop the ODBC adapter object onto the Web form and complete the wizard, pointing it at this connection. The wizard will even allow you to create queries and insertion and deletion statements into your adapted object. When finished, right click the adapter and select "Generate Dataset." You should be able to accept the defaults and click OK. Next, drag a data grid onto the Web form. Right click the object and select "Property Builder." This will generate a full configuration panel for your grid. Point the data source to the data set you just created, and point the data member to the table in that data set. The remaining tabs of the property builder will allow you to easily configure the desired look and feel of the object. You can even set the paging size of the grid, which will allow page scrolling of the data contents.

Upon completion of these steps, it's time to add the three lines of code to make the application work. It would appear that it would work as is. At this point, you will see that your data grid column headers have taken on the names of your fields from the Access database. But we have not yet actually bound the data to the data grid server control. In the code-behind page, you will notice that lots of things have been added. In your page load event, add something like this (depending on the names of your objects, you might need slight adjustments):

OdbcDataAdapter1.Fill(Me.DataSet11)
DataGrid1.DataBind()
DataGrid1.Visible = True

Now, view the page in a browser. With less than half of the effort we put into achieving the same thing in ASP, we now have the same dynamic table, but also with superior display features.

The OLE approach is almost exactly the same. However, when you create your connection, use "Microsoft.Jet.OLEDB.4.0" as your provider. Configure the adapter, generate a dataset, then add the same code, replacing it with the OLE objects, to bind the data to the Web control:

oleDbDataAdapter1.Fill(this.dataSet11);
DataGrid1.DataBind();

Of course, you might consider also wrapping that within a postback test, but that depends upon the context of your application. Like all other objects within the .NET framework, you can code a simple application like this to "jump through hoops" for you. Just spend some time looking at the classes within the namespace hierarchies, and practice deploying them in test applications. For example, you can add buttons to this page to perform various processes on the same data grid, such as changing the data that is bound to that grid or even allowing users to define their own queries and creating dynamic connection objects and adapters, along with dynamic server controls to display them.

Converting existing HTML pages to Web forms
A very quick and painless way to create some ASP.NET pages is to work with some of your existing HTML pages. It is a simple, built-in process that will help get you started. To do this, follow these steps:

* Create a new ASP.NET Web application in whatever language you prefer. Name it accordingly.

* From the Project menu, select "Add Existing Item." Change the "files of type" selection to "All Files(*.*)." Browse to the HTML file you want to convert, and select it.

* You will see the file that you selected located now within your solution explorer. Right click on it and select "Rename." You will be prompted to create a class for the new page. Select "Yes."

* Double click on the page in design view. This will open the new code-behind page that contains the class that you just created. Switch back to the UI page, and toggle to the HTML view. You will notice that a new @Page directive has been added to the top of the file. Your conversion is a success.

Again, there is so much more to cover. I barely scratched the surface, especially with the ADO.NET discussion. Everything mentioned is also XML-compatible…and that is yet another discussion we did not get to, unfortunately. I had hoped to provide an example of sending text messages through XML via ASP.NET, but the host provider charges a fee and I could not gain timely permission to use their optional demo logins for the amount of potential traffic that I might have generated. The site is loaded with cool XML Web service features that you might want to check out, and it is located here.

Thanks to all of you who submitted questions and read this blog…for those of you who have submitted questions that I have yet to answer, keep checking back, because I will. Good luck to everyone in his or her development hopes and aspirations.
Posted by Andrew Young Key points of ASP.NET, part 2
22 SEP 2005 23:19 EDT (03:19, GMT)
There is so much more to cover in so little time. So let's get into it. Let's continue by looking at the postback functionality. Postback refers to an inherent ASP.NET form design. Forms post information back to the ASP.NET page for processing, at the server. Without modification, only the click event of a button control will invoke a form to be posted back to the server. All controls, however, have a built-in property that will force a postback; it is called the "AutoPostBack" property. Adding AutoPostBack="True" to any control will force it to postback to the server immediately as events for that control occur.

You can also manipulate postback processing using the Page.IsPostBack property within a conditional statement. Let's look at a simple example. I rewrote yesterday's project using C# to keep the discussion well-rounded:

private void Page_Load(object sender, System.EventArgs e)
{
if (!IsPostBack)
{
//this code only executes on initial page load
sPage = (WebForm1) Context.Handler;
if (sPage.Property1 == "test")
{
TextBox1.Text = "You are testing";
}
Else
{
TextBox2.Text = "You are not testing";
}

}
//all code here will execute upon each request
}

We only need the code to execute once in this case, that is, immediately when the page loads for the first time. Any code placed outside of our postback test condition will execute upon every request. If we were only using one Web form in this demo and were posting it back to itself, we would not want to prevent a postback, since that would cause our code not to execute, clicking our button would do nothing. You can also leverage the System.Web.UI.Ipostback event handler interface to raise event responses on the server to postback calls from the client. This can be a bit tricky, and I would recommend thoroughly examining what you might gain from it that you could not achieve otherwise. For further documentation, look at the "Capturing Postback Events" entry of the .NET Framework Developers Guide.

Postback improves performance in that it enables us to eliminate redundant interactions between the client and the server. Ignoring that aspect of your project will predict its overall performance efficiency.

Demystifying the namespace
Namespaces logically group the classes that comprise the .NET framework. They can be used by any .NET-based language and are usable in your application by types; that is, each namespace contains types that you can use. To use the classes in a namespace, you can either type each full namespace hierarchy or declare it with a statement at the beginning of your application. A new C# ASP.NET Web form provides several examples of the declarative statement for a namespace:

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Web.UI.WebControls; etc…

With this approach, we can now declare objects implicitly and access the methods within that namespace directly by the method name. Our textbox is an example:

TextBox1 = new TextBox();
TextBox1.Text = "You are testing";

If we had not declared the System.Web.UI.WebControls namepace, we would have to rewrite this code with an explicit declaration:

System.Web.UI.WebControls.TextBox = new System.Web.UI.WebControls.TextBox();
TextBox1.Text = "You are testing";

And we would have to do this for every object of the WebControls namespace that we use.

The object class of the System namespace is the base class of all classes, the root of the .NET Framework type hierarchy. It exists as a component within the mscorlib.dll file.

It is critical when developing in the .NET environment to understand how the classes are deployed. The polymorphism of the components is the best way to break the ice. From this study you can branch out into the concepts of overriding and overloading members of base classes and become acquainted with derived classes. Mastering these concepts in my opinion will come from practice with interfaces, inheritance and abstraction. From what I have seen, the whole class concept and class initialization is analogous to C++. It is, however, much more advanced than the C++ I was working with on a DEC Alpha Unix box in college. But the concepts haven't changed.

Again I refer to the .NET Framework users guide. I cannot go beyond the scope of the application we are already playing with to exemplify the concepts of the classes…understanding the things I mention above requires study and practice. Lookup "Polymorphism in components," and take it from there.

However, we can see some instances of inheritance implementation at work in our existing project. For example, this line of code:

public class WebForm2 : System.Web.UI.Page

declares the public class that is our Web form and derives from an existing class within the System.Web.UI namespace, the Page class. In C#, you can use this approach for both interface implementation and class derivation. In VB, you would be using the implements keyword. Yes, we could change that line of code to:

public class WebForm2 : Page

and it would work just the same, since we have already declared the System.Web.UI namespace in the beginning of the Web form. Notice the method that exists in the Web Form Designer-generated code region of the Web form:

override protected void OnInit(EventArgs e)
{ …

This method represents a member of the base Page class that we are deriving from, which in the base class inherits from the Control class of the same namespace. Technically, this member can be referred to as Control.Init(). A look at the Page class members shows us the declaration of this method:

protected virtual void OnInit(EventArgs e);

Alas, we find a virtual method…that is, a member that by type expects to be overridden. Upon invoking a virtual method, that run-time type of the object is checked for an overriding member. The overriding member in the most derived class (that's us) is called. Perhaps more examples on this subject tomorrow. I am thinking a good demo might be to create a new class to carry out the task of passing values between pages, as we have already done within our pre-defined classes of the Web form. It would be a great way to define the process of creating the class and to compile it into a component within a DLL, adding a reference to it for our project, then utilizing it.
Posted by Andrew Young Key points of ASP.NET: The page event cycle
22 SEP 2005 02:17 EDT (06:17, GMT)
There are so many components of ASP.NET that it would be impossible to cover all of them here without confusing the entire discussion and simply regurgitating about items that I have no experience using. I have learned from the applications that I have worked with in this context some of the most important factors to consider and become familiar with. One of them is clearly grasping and understanding how the namespaces work. This is the core of the development infrastructure. Let's not put the cart before the horse, or the hen before the egg for that matter, though. Let's look at a basic, but necessary and powerful, ability within ASP.NET: the page event cycle

An understanding of the page event life cycle is entirely relevant and worthy of some discussion. ASP.NET forms are, by design, adhering to a built-in cycle of events that always occur in the same order. This affects, or can influence, both the performance and functionality of the application. Whenever I see a built-in processing sequence, I know that it is there for good reason and can potentially become a powerful tool in my application. These events occur in the following order: Page_Init, Page_Load, Control events and Page_Unload. The Page_Init event initializes Web server controls on the page. Page_Load runs every time the page is requested. Control events run all change events, such as textbox or datagrid changes, and action events such as button clicks. Page_Unload runs when control is passed to another page or when the page is simply closed. These events can be creatively manipulated in such a way that they "jump through hoops" for you.

As an example, let's work with the code generated in a new ASP.NET VB Web project. This code is located in the code-behind page of your new project. Expand the area labeled "Web Form Designer Generated Code" to access the Page_Init subroutine…the Page_Load event is already visible by default.

We have an ASP.NET Web project, which is designed for inherently dynamic applications by nature. Consider for this example that we have two pages in our application, WebForm1 and WebForm2. We will arrive at WebForm2 being supplied with preliminary information from WebForm1. Based upon the information from WebForm1, we are going to create distinct sets of text boxes in WebForm2 and populate them with data. Let's create a text box and a button on WebForm1. We will pass the value of this text box to WebForm2. We are not passing values between pages via a call to the Request object any longer. Web forms are in reality a class. Things are now completely encapsulated. In the code-behind page of WebForm1, we create a public access property within the class that returns a string:

Public ReadOnly Property Property1() As String
Get
Return TextBox1.Text
End Get
End Property

Using the button we created as the event handler, use the transfer method of the server object to advance to the next page, providing the name of that page as the argument:

Server.Transfer("WebForm2.aspx")

Again, each Web form is a class. In the code-behind page of WebForm2, create a global variable that is typed to that class, and instantiate it beneath the class declaration of the WebForm:

Public sPage As WebForm1 = CType(Context.Handler, WebForm1)

It cannot hurt to reference the source page as well. Create an additional page directive within the HTML of WebForm2:

<% @ Reference Page="WebForm1.aspx" %>

Switch to the HTML view in WebForm2, and ensure that the name of your form is Form1. Toggle back to the code-behind page, and add some declarations for the possible dynamic controls:

Protected Form1 As System.Web.UI.HtmlControls.HtmlForm
Protected WithEvents TextBox1 As System.Web.UI.WebControls.TextBox
Protected WithEvents TextBox2 As System.Web.UI.WebControls.TextBox

Then add some code to the Page_Init and Page_Load events:

Private Sub Page_Init(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles MyBase.Init
If sPage.Property1 = "test" Then
'display in upper left
TextBox1 = New TextBox
TextBox1.ID = "TextBox1"
TextBox1.Style("Position") = "Absolute"
TextBox1.Style("Top") = "25px"
TextBox1.Style("Left") = "100px"
Form1.Controls.Add(TextBox1)
Else
'display in upper right
TextBox2 = New TextBox
TextBox2.ID = "TextBox2"
TextBox2.Style("Position") = "Absolute"
TextBox2.Style("Top") = "25px"
TextBox2.Style("Left") = "550px"
Form1.Controls.Add(TextBox2)
End If
'CODEGEN: This method call is required by the Web Form Designer
'Do not modify it using the code editor.
InitializeComponent()
End Sub
Private Sub Page_Load(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles MyBase.Load
If Not Page.IsPostBack Then
If sPage.Property1 = "test" Then
TextBox1.Text = "You are testing"
Else
TextBox2.Text = "You are not testing"
End If
End If
End Sub

Build the application, and view WebForm1 in a browser. Typing "test" in the text box and clicking the button brings you to WebForm2, with the text box that we dynamically configured and positioned displayed. Typing anything else in the same text box executes the else condition of our code.

This is a very simple example that can be expanded to perform many more advanced processes. Logging into an application, for example, with ADO.NET integration, or reading usernames and passwords from an external data source. I based a recent project for an online auto warranty company on this functionality. The make and model of the auto selected in WebForm1 acted to determine which dataset to fill and bind to several listboxes in WebForm2, such as potential prices and available coverages for that vehicle, pulling the information from a SQL box. I should go into the significance of the postback operation, but I am too tired...tomorrow. Good night.


Author: Kumar Velu    09 Jun 2008Member Level: DiamondRating:     Points: 2
10.The question is "After sign out from email, Then we click a
back button , we can't go to the previous page ie inbox
page, It is displaying a login form only"
My doubt is How will code this

ans : once you click signout , session is cleared there even if you press back button it redirect you to previous page ,to achieve this you have check session value in pageload event.

How Can we use multiple forms in single asp.net application?
http://www.vbdotnetheaven.com/UploadFile/avi_sanjay/MultiForms.htm12142006233855PM/MultiForms.htm.aspx

6)what is connection pooling ?
http://www.codeproject.com/KB/dotnet/ADONET_ConnectionPooling.aspx

What is the command to connect to a StoredProcedure?
http://www.geekpedia.com/tutorial92_Creating-and-using-stored-procedures.html


Post Reply
You must Sign In to post a response.
Next : .net Encrypion
Previous : how to convert binary image to URL path
Return to Discussion Forum
Post New Message
Category: ASP.NET

Related Messages



dotNet Slackers   BizTalk Adaptors    Web Design

teleconferencing

Contact Us    Privacy Policy    Terms Of Use