C# - WebMethod() Is Slow On Each Execution Compared To After Run It As A Windows Application
Mar 11, 2011
I have developed an application that interacts with IBM ClearQuest. The problem is that when I run everything locally, such as, run the webservice local and then ASP page local everything is at the speed I expect. When I post the webservice (precompiled) to the server and run the web page through the server, the call to the webmethod takes at least 10x the amount of time it should. I dont know why this is happening. I made a console application that has the function in question and execute it on the server and locally and they both return the same amounts of time (roughly) its just when I move to executing via the webmethod everything grinds to a snails pace. Any ideas? This happens every time not just on the first call.
WebMethod:
Public Function RetrieveQueryResults(ByRef cqSession As ClearQuestOleServer.Session, _
ByVal sqlStmt As String) As List(Of SearchResultsSingleIssue)
Dim numCols As Integer, status As Integer, columnIdx As Integer
Dim numRows As Integer
Dim rowContents As String = ""
Dim colValue As New Object
Dim colLabel As New Object
Dim allitems As New List(Of SearchResultsSingleIssue)
Dim results As New SearchResultsSingleIssue
Dim cqResultSet As ClearQuestOleServer.OAdResultset
cqResultSet = cqSession.BuildSQLQuery(sqlStmt)
cqResultSet.Execute()
' Get the number of columns returned by the query.
numRows = 0
numCols = cqResultSet.GetNumberOfColumns
status = cqResultSet.MoveNext
' Collect query results.
Do While status = AD_SUCCESS
results = New SearchResultsSingleIssue
numRows = numRows + 1
For columnIdx = 1 To numCols
colLabel = cqResultSet.GetColumnLabel(columnIdx)
colValue = cqResultSet.GetColumnValue(columnIdx)
'Make sure that we dont pass along a null reference
If colValue = Nothing Then
colValue = ""
End If
Select Case colLabel
Case "ID"
results.IssueID = colValue
Case "HEADLINE"
results.Headline = colValue
Case "NAME"
results.State = colValue
Case "OE_CONTACT"
results.OEContact = colValue
Case "DESCRIPTION"
results.Further_Description = colValue
Case "PRODUCT_NAME"
results.Product_Name = colValue
Case "FUNCTIONAL_AREA"
results.Functional_Area = colValue
Case "SUBTOPIC"
results.Subtopic = colValue
Case "FOUND_VERSION"
results.Found_In = colValue
Case "SCHEDULED_VERSION"
results.Scheduled_For = colValue
Case "SYMPTOMS"
results.Symptoms = colValue
Case "AFFECTED_SYSTEMS"
results.Affected_System_Types = colValue
Case "ISSUE_TYPE"
results.Issue_Type = colValue
Case "ASSIGNED_TO"
results.Assigned_Developer = colValue
Case "TESTED_BY"
results.Assigned_Tester = colValue
Case "BUILT_VERSION"
results.Built_In = colValue
Case "TESTED_VERSION"
results.Tested_In = colValue
Case "NOTES_LOG"
results.Notes_Log = colValue
Case "CUSTOMER_SEVERITY"
results.Severity = colValue
Case "PRIORITY"
results.Priority = colValue
End Select
Next columnIdx
' Add the query row result to the compiled list of all rows.
allitems.Add(results)
status = cqResultSet.MoveNext
Loop
Return allitems
End Function
Local Windows Application Method:
private void button2_Click(object sender, EventArgs e)
{
start = DateTime.Now.TimeOfDay.Seconds;
int numCols = 0;
int status = 0;
int columnIdx = 0;
int numRows = 0;
string rowContents = "";
string colValue;
string colLabel;
List<SearchResultsSingleIssue> allitems = new List<SearchResultsSingleIssue>();
SearchResultsSingleIssue results = new SearchResultsSingleIssue();
ClearQuestOleServer.OAdResultset cqResultSet = default(ClearQuestOleServer.OAdResultset);
cqResultSet = (ClearQuestOleServer.OAdResultset)ClearQuestSession.BuildSQLQuery(sqlStatement);
cqResultSet.Execute();
// Get the number of columns returned by the query.
numRows = 0;
numCols = cqResultSet.GetNumberOfColumns();
status = cqResultSet.MoveNext();
// Collect query results.
while (status == 1)
{
results = new SearchResultsSingleIssue();
numRows = numRows + 1;
for (columnIdx = 1; columnIdx <= numCols; columnIdx++)
{
colLabel = (string)cqResultSet.GetColumnLabel(columnIdx);
colValue = (string)cqResultSet.GetColumnValue(columnIdx);
//Make sure that we dont pass along a null reference
if (colValue == null)
{
colValue = "";
}
switch (colLabel)
{
case "ID":
results.IssueID = colValue;
break;
case "HEADLINE":
results.Headline = colValue;
break;
case "NAME":
results.State = colValue;
break;
case "OE_CONTACT":
results.OEContact = colValue;
break;
case "DESCRIPTION":
results.Further_Description = colValue;
break;
case "PRODUCT_NAME":
results.Product_Name = colValue;
break;
case "FUNCTIONAL_AREA":
results.Functional_Area = colValue;
break;
case "SUBTOPIC":
results.Subtopic = colValue;
break;
case "FOUND_VERSION":
results.Found_In = colValue;
break;
case "SCHEDULED_VERSION":
results.Scheduled_For = colValue;
break;
case "SYMPTOMS":
results.Symptoms = colValue;
break;
case "AFFECTED_SYSTEMS":
results.Affected_System_Types = colValue;
break;
case "ISSUE_TYPE":
results.Issue_Type = colValue;
break;
case "ASSIGNED_TO":
results.Assigned_Developer = colValue;
break;
case "TESTED_BY":
results.Assigned_Tester = colValue;
break;
case "BUILT_VERSION":
results.Built_In = colValue;
break;
case "TESTED_VERSION":
results.Tested_In = colValue;
break;
case "NOTES_LOG":
results.Notes_Log = colValue;
break;
case "CUSTOMER_SEVERITY":
results.Severity = colValue;
break;
case "PRIORITY":
results.Priority = colValue;
break;
}
}
// Add the query row result to the compiled list of all rows.
allitems.Add(results);
status = cqResultSet.MoveNext();
}
seconds = (DateTime.Now.TimeOfDay.Seconds - start);
label3.Text = seconds.ToString();
}
The code should execute in about...6 seconds.
View 1 Replies
Similar Messages:
Nov 5, 2010
This might be a pretty strange question in the eyes of some of you out here, but I really wonder if comments in my code will slow down the execution time of the pages I make.I have some Classes / WebControls that required alot of comments to make everything clear and quickly readable to other people that will have to deal with my code and now wonder how ASP.Net deals with my comments. Will comments be stripped from my code at compile time or how is this all done?I should be more specific: I mean comments in my code-behind in C#.
View 4 Replies
Apr 21, 2010
i have developed an ERP in asp.net 3.5. The problem is that when published and as well as during development, the execution speed of page is very slow. I have off the compilation mode in web.config and also get all the data in page load and then filter it using Dataview rowfilter property but i can't get much better speed.
View 5 Replies
Mar 16, 2011
I'm more into the LAMP stack, but I've been asked to work on a site that is running Windows and IIS 2008. I'm a beginner with IIS, so please be patient with me on this, and please ask me to provide more information if that is needed to determine. I read the answer here (Slow first page load on asp.net site), but it seems like if I go to the site with one browser it takes long to load the first page, then fast on all other pages, then if I open up another browser, it's the same thing, so it's not something that is saved on the server, but per session? Is there a way to have the application running at all times? Right now it is taking 12 to 15 seconds for the first page to load. I have access to the WebControlCenter and FTP.
View 3 Replies
Jun 16, 2010
I have two applications(A,B) both are developed in .NET3.5 and used LDAP services.Application-A in one screen we are fetching users with role "project Leads" and it is taking 10 min time
Application-B in login screen we are checking user is authenticated or not and it is taking 20 sec
Both the applications are using the same service then way there is a time span problem. Please suggest me what can I do to improve performance of application A?
View 3 Replies
Jul 16, 2010
I recently upgraded to Windows 7 Ultimate on my work computer. Before this debugging a website in Visual Web Developer 2008 was really fast - the page loaded up like a normal website would.
Since I've upgraded to Windows 7 the page loads like normal but gets stuck for about 30 seconds at the end of the load - this is slowing me down as I normally need to use the FireBug tool as soon as the page has loaded.
View 4 Replies
May 23, 2010
I have a really weird problem that I've been investigating for at least one week now. I deliver a website hosting both ASP classic and .NET 3.5 content in IIS6 on a Windows 2003 server environment with MySQL db backend. The solution has been installed on several servers (some hosted in WMWare) with no problems. On one specific server, also hosted in WMWare, the user experience great performance issues on the website. The problems are most seen when using database resources and is not limited to either .net or asp classic, but I am still not sure that the problem is only related to database calls.
Following components are involved:
IIS6 .NET FW 3.5 MyODBC 3.51 / 5.1 MySQL 4.x
Code executed on the server using all resources above runs smoothly when the IIS is not involved. The website shows times up to 2 minutes to execute code that takes 2 seconds outside the IIS. The exact same code is executed. Using profiling tools, I've seen that the great loss comes within calls to unmanaged code, for example when System.Data.ODBC namespace to calls into myodbc.dll.
The tricky part is: If at least one console user is logged in to the server, the performace problems are not seen anymore. When the user logs out, the problem appears again.I have tried to reinstall all components above, tried different versions of MyODBC, tried different website authentication methods, tried to run website under administrator privilegies, installed various MS KB's with no success.
View 4 Replies
Nov 23, 2010
I have a ASP.NET application. From that, User register, User will get email after registration. My Req : When user click on link provided in email. Then it should go to my ASP.Net application page . That page should install a wincows application on Client system through web ( I was inspired by Microsoft Windows update from Microsoft site)
View 1 Replies
Apr 23, 2010
why is it that when i debug my application in chrome it is relatively slow between postbacks compared to internet explorer? when i use internet explorer, its lightning fast.
View 6 Replies
Nov 19, 2010
I have a strange situation on a production server. Connection for asp.net get queued but the CPU is only at 40%. Also the database runs fine at 30% CPU.
Some more history as requested in the comments:
In the peak hours the sites gets around 20,000 visitors an hour.
The site is an asp.net webforms application with a lot of AJAX/POSTs
The site uses a lot of User generated content
We measure the performance of the site with a testpage which does hit the database and the webservices used by the site. This page get served within a second on normal load. Whe define the application as slow when the request takes more than 4 seconds.
From the measurements we can see that the connectiontime is fast, but the processing time is large.
We can't pinpoint the slowresponse the a single request, the site runs fine during normal hours but gets slow during peak hours
We had a problem that the site was CPU bound (aka running at 100%), we fixed that
We also had problems with exceptions maken the appdomain restart, we fixed that do
During peak hours I take a look at the asp.net performance counters. We can see behaviour that we have 600 current connections with 500 queued connections.
At peak times the CPU is around 40% (which makes me the think that it is not CPU bound)
Physical memory is around 60% used
At peak times the DatabaseServer CPU is around 30% (which makes me think it is not Database bound)
My conclusion is that something else is stopping the server from handling the requests faster. Possible suspects:
Deadlocks (!syncblk only gives one lock)
Disk I/O (checked via sysinternals procesexplorer: 3.5 mB/s)
Garbage collection (10~15% during peaks)
Network I/O (connect time still low)
To find out what the proces is doing I created to minidumps.
I managed to create two MemoryDumps 20 seconds apart. This is the output of the first:
!threadpool
CPU utilization 6%
Worker Thread: Total: 95 Running: 72 Idle: 23 MaxLimit: 200 MinLimit: 100
Work Request in Queue: 1
Number of Timers: 64
and the output of the second:
!threadpool
CPU utilization 9%
Worker Thread: Total: 111 Running: 111 Idle: 0 MaxLimit: 200 MinLimit: 100
Work Request in Queue: 1589
View 3 Replies
Jul 17, 2010
I am developing sample web application which use C#, and LINQ to SQL. The application is very very slow and it takes about 2 secs to navigate between pages. I have already used SQL Profiler and monitor the calls to the SQL server. All SQLs looks normal to me and their execution time is always about 1 or 2 millisecs.I tried the same application in another PC and it is the same. So, it is not because of my computer performance.
View 3 Replies
Dec 13, 2010
Iam using ftp client wrapper class for accessing ftp.
iam able to download files from ftp when used in windows application
when i try to use the same code with windows service i get an error
the error is
"The underlying connection was closed: An unexpected error occurred on a receive. "
this error i get on directory listing
the stack trace is:
[Code]....
Note:
FTP is getting connected throgh service
FTP is getting connected throug FileZilla, internet explorer
soruce code:
[Code]....
View 5 Replies
May 3, 2012
I have gone though article [URL] ....
Sending and receiving json data.
There i have noticed you are debuging webmethod to get the properties of city object.
In my application i am making a ajax call to a webmethod and getting a error, in firebug it shows internal server error . I believe there must be some bug in my webmethod. But i dont know how to debug it setting break point in my code didn't work as it overlooks the break point.
View 1 Replies
Jul 7, 2010
We have a website portal hosted in Windows 2003 server. For security reasons we are using different windows Login user say (xxxx) for signin other than Administrator. Now with this user (xxxx) name I installed .net Windows Application. It was working fine. For some reasons I renamed the original windows Login user(xxxx) to different say (yyyy). Now this .net Windows Application is not working with (yyyy) and even it is not allowing me to uninstall it.
View 3 Replies
Jan 12, 2011
My application runs quickly when debugging locally, but slows down to an almost unusable state once published. Oddly, the published version seems to be grabbing data very quickly from MSSQL - it's the part where I'm updating datatables and gridviews that is very slow. For example:
[Code]....
View 8 Replies
Mar 24, 2011
I know that when a .NET web application first starts, it will be slow on first access. For that reason, I created a 'keep alive' page in the application that is requested every 8 minutes or so by a scheduled process. I hoped that that would be sufficient to prevent the application from 'unloading' and thus suffer from this initial long startup time again and again.
I can see in my logs that the 'keep alive' page is indeed triggered every 8 minutes, 24 hours a day. But when I actively start working in the application after some time, eg. the following day, I still have to wait a while for it to start up. Once the first page is loaded, all is fine again.
View 4 Replies
Feb 22, 2011
There's a web app I've been assigned to, which is running very slow. It is a site that sells products so it is database driven, however even pages that do not query the database are loading very slow. The pages use master pages, and the code is in VB.NETI checked with fiddler and the time it takes to load basic (non database driven) pages are about 5.5 seconds on average.
What are some tools that can help me determine the cause of the slow speeds, and any recommendations as to how to speed it up, or potential issues that could cause it?UpdateSo I messed around with the code piece by piece as I wasn't getting anywhere with these tools. As soon as I remove master pages, and I include the same code that's on the master pages in the .aspx page itself, the speed improves drastically (approximately 5 times faster load times).What might cause the master pages to cause load times to slow down so much?
View 4 Replies
May 19, 2010
I have a service that works great on my development box. It uses JQuery to hit my web service, and then the JSON results are sent back.
The web service is located on our basePage.cs. We didn't want to put out an external WebService for this. Our on beta box something different is happening.
The web page seems to be trying to call the web method correctly - the JSON data is being sent... but the server doesn't seem to know it's a webmethod. here's my service function (it's in our basepage.cs which inherits from Page).
[Code]....
View 2 Replies
Sep 13, 2010
I have one ASP.NET Application (VS.NET 2005). In that i have one scenario where i have to display 500 records per page (Not less than that bcoz this is client requirement to display 500 records per page) in the Gridview. This functionality is working fine but the application is becoming very slow.Can anybody tell me the solution for increasing performance in this case ?
View 2 Replies
Apr 11, 2010
I have a simple web application that loads very slow the very first time after i deploy it. I am using ASP.NET 3.5 SP1 / VS 2008 / Linq / Web forms to load the default.aspx home page. It is a very light page with nothing too fancy.Now to debug this load issue, I logged all the events in the global file and got the following log text:
2010-04-10 11:58:38,083 - Application_Start
2010-04-10 11:58:38,111 - Application_BeginRequest
2010-04-10 11:58:38,117 - Application_AuthenticateRequest
2010-04-10 11:58:52,321 - Session_Start
2010-04-10 11:58:52,454 - Page_Load
2010-04-10 11:58:53,951 - End Page_load
2010-04-10 11:58:53,981 - Application_EndRequest
Now my question is, between the Application_AuthenticateRequest and Session_Start functions, there is generally around 10 - 15 seconds - which i believe seems to be the problem.The thing, I am unsure why this is slow between these two functions.I am not using any forms authentication.Also, I am not doing anything fancy in the global file besides setting a session variable.
View 9 Replies
Mar 2, 2011
The message sent to browser is as follows:
The type My.API.Class is ambiguous: it could come from assembly '[on Temporary ASP.NET Files]' or from assembly '[on bin folder]'
The problem occurs when debugging a Web App, speciically when making a request to a WebMethod of a WebService.The project compiles just right. It generates My.Website.dll on bin folder and if I publish the Web Application. It works fine.The asmx file is on the root of the application. The CodeBehind file is on App_Code and its marked to be compiled to generate My.Website.dll.The way this person exposes its problem is somehow similar but I get starting to be lost when he talks about a proxy class and shared dlls I don't use.
View 2 Replies
Apr 12, 2010
i have created one windows application in c# .net and its working fine in windows xp, but when i try to install the setup in windows 7 or vista,the setup never runs.. should i have to write some code for it.
View 2 Replies
Aug 16, 2010
I have developed a web application in asp.net with c# with out using master page. I have developed this application in iframe.
The problem is that my application run smoothly but suddenly it stops and do some processing and it run again smoothly.
it stops any where on page load, on button click, on checkbox changed. i can not tell where it stops
it stops only when page post. i can see the processbar on browser's statusbar it stop for long time 40 to 60 seconds and after that i fire same event now process complets within 2 to 5 seconds
Hosting server detail :
1. IIS 6.0
2. Window server 2003.
3. Sql server 2005.
View 4 Replies
Aug 11, 2010
I have made an asp.net web application using VS 2008 to show crystal reports. I have used CrystalReportViewer control to show reports.
The table (sql server 2005 ) from which I have to fetch data has approximately 400000 records. I connect to it using OLEDB ( Microsoft OLEDB provider for sql server )
I have wrote the following code to achieve this :
[code]....
View 1 Replies
Jul 2, 2010
In application all sql connection close properly, Also when user log out its connection close still sql process memory increase in RAM and after some time Application slow down.
View 3 Replies