C# - How To Optimize Spawning A New Process For Each Request
Mar 9, 2011
I have an asp.net mvc application that spawns a Process as follows:
Process p = new Process();
p.EnableRaisingEvents = true;
p.Exited += new EventHandler(p_Exited);
p.StartInfo.Arguments = "-interaction=nonstopmode " + inputpath;
p.StartInfo.WorkingDirectory = dir;
p.StartInfo.UseShellExecute = false;
p.StartInfo.FileName = "pdflatex.exe";
p.StartInfo.LoadUserProfile = true;
p.Start();
p.WaitForExit();
Before going further, I need to know whether, e.g., pdflatex.exe is a managed code or a native code? Edit 1 I need to consider this because: (Hopely I am not wrong...) Each Asp.net application runs in an separate/isolated AppDomain as opposed to a separate/isolated process. A native executable cannot live in an AppDomain.to be continued.. Shortly speaking, I hope my site does not spawn a new process for each request. Because a process is more expensive than an application domain. Edit 2 My asp.net mvc application allows users to submit LaTeX input commands such as $ax^2+bx+c=0$ to be converted to a pdf file rendering an quadratic equation. Behind the scene, this web app will spawn a process executing pdflatex.exe. The job of pdflatex.exe is converting the LaTeX input commands to pdf document.
View 2 Replies
Similar Messages:
Jan 5, 2011
here's what i'm doing:
1. i'm retreiving data through API(atom format),
2. i'm storing all retreived data in a datatable,
3. i'm binding this datatable to a gridview
the porblem is that these APIs are feeding thousands of records, so each time i'm paging a new page_index i have to go through all ofl the above steps (1, 2 and 3)this procedure is taking a lot of time
i believe there is a faster way to do that ,
View 4 Replies
Sep 2, 2010
I have made web service, when it is accessed by remote computer to send me the data using this web service then the following errors shows on the remote computer:-
"Server was unable to process request..A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)"
View 1 Replies
Apr 20, 2010
Currently we are developing an ASMX, ASP 2.0, IIS 7 web service that does some calculations (and return a dynamically generated document) and will take approx. 60 seconds to run.Since whe have a big machine with multiple cores and lots of RAM, I expected that IIS tries its best to route the requests that arrive in its requests queue to all available threads of the app pool's thread pool.But we experience quiet the opposite:When we issue requests to the ASMX web service URL from multiple different clients, the IIS seems to serially process these requests. I.e. request 1 arrives, is being processed, then request 2 is being processed, then request 3, etc
View 2 Replies
Mar 16, 2011
Error in File C:WINDOWSTEMPPOC1 {EFC98CD9-964C-4683-96BA-E02D634AF240}.rpt: The request could not be submitted for background processing.vb code:
Dim objReport As New CrystalDecisions.CrystalReports.Engine.ReportClass
Dim location As String = context.Server.MapPath("../POC/POC1.rpt")
objReport.FileName = location
[code]...
View 1 Replies
Feb 27, 2011
I have a doubt. For examples, Multiple users trying to update the same record usign asp.net application.
Can any one explain me indatil the situation how db process the request.?
View 1 Replies
Jan 27, 2011
I am trying to call a webservice and i am receiving the following error
Server was unable to process request -- > object reference not set to an instance of object .
Steps done for calling the webservice
1) created a wrapper class using wsdl.exe tool
syntax :- wsdl.exe /l:vb <url.asmx?wsdl>
<url.asmx?wsdl> is the url of the webservice to be called.
2) Imports <webservicenamespace>
[Code]....
3) while checking the trace Its occuring while invoking the webservice function
object[] results = this.Invoke(<webservicefunction(parameters)>)
View 4 Replies
Mar 18, 2010
What happen if web.config gets updated while ASP (ASP.NET 2.0) server still process client request?
- Will the process be killed?
- If not, will the process read the updates in web.config.
View 4 Replies
Mar 23, 2010
When I am trying to invoke a method using a proxy class i get error
"System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.NullReferenceException: Object reference not set to an instance of an object. at ..."
View 2 Replies
Jun 18, 2010
I am developing the web site, It consists of device name list and related Build Button. When one click the Build button the one process will run in server. When more than ten user click the Build button more processes will create at that server will hang. How can send all request from client to single process in server.
View 2 Replies
Mar 2, 2011
[Code]....The WebResource.axd handler must be registered in the configuration to process this request?
View 4 Replies
Mar 9, 2011
I'm getting an exception when trying to access an .asmx webservice within a MVC site. I've tried numerous things like updating the web reference within the console application and building another quick app to test, but can't get passed this issue. If I pull the URL out of the svc variable, I can browse to it directly.
Exception Details
System.Web.Services.Protocols.SoapException
occurred Message=Server was unable
to process request. ---> Value cannot
be null. Parameter name: uriString
Source=System.Web.Services Actor=""
Lang="" Node="" Role=""
StackTrace:
at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage
message, WebResponse response, Stream
responseStream, Boolean asyncCall)
at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String
methodName, Object[] parameters)
at ClarityIntegration.SendTrackerDataToClarity()
in [REDACTED].Reference.cs:line 78
at [REDACTED].Program.Main(String[] args)
in [REDACTED].Program.cs:line 33
InnerException:
CONSOLE APP CODE
var svc = new TrackerClarityService.ClarityIntegration()
{
Url = url,
Credentials =
new System.Net.NetworkCredential("user", "pass", "domain")
};
svc.SendTrackerDataToClarity();
svc.Dispose();
The exception was coming out of the Web Service itself. There were some global variables not being initialized directly through the .asmx call that were being initialized by the application itself.
Some simple checks on variables within the Web Service and setting what needs to be set have fixed up the issue.
View 2 Replies
Nov 30, 2010
I have a .Net Webservice(2.0 framework) and I am trying to call this service from SQL
server 2005 using CLR.
I have created assamblies on server and trying to call the we service through CLR, but I'm getting below error:
"Exception:
Server was unable to process request. ---> Invalid URI: The URI is empty."
View 1 Replies
Apr 16, 2010
I have a webservice, it has few webmethods. when i create a client proxy and invoke the methods to check its response, i am getting this error. Can someone tell me what things can i check to know the cause of this? The error is not saying much hence blocked on this.
View 1 Replies
Mar 3, 2011
I have created a web service that interacts with my DAL. It has the usual kind of methods, create, retrieve, update and delete. I have published this web service to our live Windows Server and I can see the web serice URL. The web service works on a few method calls but does not work specifically for one object. I am getting the following error: Fault Exception was unhandled by user code. "Server was unable to process request. ---> Data is Null. This method or property cannot be called on Null values."
To summarise: Web service is live, I can see it in my browser. Some method calls work. One specific one does not. I have verified that the method works (it is just calling a SQL stored proc that does return data).
View 2 Replies
Sep 7, 2010
I've written a aspx.net(C#) page that after the user has done what they do on the page they hit a Submit button. The Submit button
1) takes the work the users was producing on the page and writes it to a file.
2) attempts to execute a batch file.
The call to the batch file is executed via:
protected void Execute123EDI()
{
try
{
string File = @"c:80sAdminSendV80s.bat";
lblCancelled.Text = lblCancelled.Text + File;
Process proc = new System.Diagnostics.Process();
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.LoadUserProfile = false;
proc.StartInfo.UserName = "administrator";
proc.StartInfo.RedirectStandardOutput = true;
System.Security.SecureString secPass = new System.Security.SecureString();
string paswd = "123abc";
for (int i = 0; i < paswd.Length; i++)
{
secPass.AppendChar(paswd[i]);
}
proc.StartInfo.Password = secPass;
proc.StartInfo.FileName = File;
proc.Start();
FileStream fs = new FileStream(@"c:80sAdminSendV80sOutput.log", FileMode.Append);
StreamWriter sw = new StreamWriter(fs);
sw.Write(proc.StandardOutput.ReadToEnd());
proc.WaitForExit();
sw.Close();
proc.Close();
}
catch(Exception ex)
{
lblDebug.Text = lblDebug.Text + ex.Message + "<br/>";
}
If I watch the processes tab in Task Manager on the web server I see "cmd.exe" under the context of 'administrator' but it just hangs. For test purposes c:SendV80s.bat: copy c: oot.ini c:zzz.txt
If I logon onto the webserver's console and execute SendV80s.bat it works and exits without issue. But when I execute the same batch file via the Submit button it gets stuck executing in Task Manager/Process. I believe this has something to do with the fact that cmd is not running in a full environment/desktop context. I just noticed this on the actual console of the webserver (not in my RDP console but console 0 instead)
A pop-up box stating: CMD.exe Application error The application failed to initialize properly (0xc0000142). Click OK to terminate the application. And when I click on the OK button my ASPX page's WaitForExit is satisfied and the continues processing normally.
View 2 Replies
Jul 21, 2010
I know that similar questions have been asked all over the place, but I'm having trouble finding one that relates directly to what I'm after.
I have a website where a user uploads a data file, then that file is transformed and imported into SQL. The file could be up to 50mb in size, and some times this process can take 30 minutes or sometimes even longer.
I realise I need to palm off the actual work to another process, and poll that process on the web page. I'm wondering what the best approach would be though? Being a web developer by trade, I'm finding all this new Windows Service stuff a bit confusing, and I just wanted somewhere to start.
So:
Can I do / should I being doing this with a windows service? if so, how?
Should I use WCF? If this runs under IIS, will I have problems with aspnet_wp.exe recycling and timing out my process?
clarifications
The data is imported into sql, there's no file distribution taking place.
If there is a failure, it absolutely MUST be reported to the user. The web page will poll every, lets say, 5 seconds, from the time the async task begins, to get the 'status' of the import. Once it's finished another response will tell the page to stop polling for status updates.
queries on final decision
ok, so as I thought, it seems that a windows service is the best idea. So as to HOW to get it to work, it seems the 'put the file there and wait for the service to pick it up' idea is the generally accepted way, is there a way I can start a process run by the service, without it having to constantly be checking a database table / folder? As I said earlier, I don't have any experience with Windows Services - I wondered if I put a public method in the service, can I call it somehow?
View 2 Replies
Feb 26, 2010
I'm working on an ASP.net app I'm trying to execute a process remotely , using System.Diagnostics.Process class here's my code:
ProcessStartInfo startInfo = new ProcessStartInfo(@"C:TestCommand.exe");
startInfo.Domain = "myDomain";
startInfo.UserName = "MyUserName";
SecureString sec = new SecureString();
foreach (char item in "MyPassword")
{
sec.AppendChar(item);
}
sec.MakeReadOnly();
startInfo.Password = sec;
startInfo.UseShellExecute = false;
Process.Start(startInfo);
I keep receiving an exception with the message "Logon failure: unknown user name or bad password". Im absolutelly sure that i'm submiting my correct username/pwd
View 1 Replies
Apr 3, 2010
I've developed a popup email .aspx used on our intranet based web app that is auto generated with .pdf's attached. I'm developing with VS 2008 ASP.Net 3.5 C# and System.Net.Mail.MailMessage. I can create and send the email with no issues. The problem is with any attempt to open or delete the attachments I get the above error. The .pdf's a copied with the following code:
FileStream fsr = new FileStream(inFilename, FileMode.Open, FileAccess.Read, FileShare.Read);
BinaryReader reader = new BinaryReader(fsr);
byte[] bytes = new byte[fsr.Length];
reader.Read(bytes, 0, bytes.Length);
FileStream fsw = new FileStream(outFileName, FileMode.Create, FileAccess.Write, FileShare.Write);
BinaryWriter writer = new BinaryWriter(fsw);
writer.Write(bytes, 0, bytes.Length);
// clean up
writer.Flush();
writer.Close();
writer = null;
fsw.Close();
fsw.Dispose();
fsw = null;
reader.Close();
reader = null;
fsr.Close();
fsr.Dispose();
fsr = null;
Later after sending the email I:
mailMessage.Dispose();
mailMessage = null;
foreach (string fileName in attachments)
{
if (File.Exists(fileName))
File.Delete(fileName);
}
The error occurs at: the File.Delete(fileName);
how I can delete or reopen these files after sending the email?
View 9 Replies
Dec 25, 2010
Dear ladies and sirs.
I have a .NET infra code running both within the IIS worker process and within a desktop client app. How can the .NET code determine whether it is running within an IIS worker process?
I know that I could check the name of the process (w3wp.exe, for instance), but I would like a more robust approach. I wish to make a side note. This is not a production need. I need this information to enable certain scenarios useful during the development and testing phase. Specifically to ease the testing of secure vs non secure configurations.
View 3 Replies
Jan 26, 2010
When I hit the run button (in my Default.aspx), a process starts (this process contacts a webservice to get some files, etc). How do I: Ensure that only a single process is running at a time (i.e. if I refresh the browser, I don't want to start the process a second time)Track progress - there are 4 points of the process (at 25%, 50%, 75%, 100%) that I want to track, and when each part completes, I want to update the progress bar. I have a status object for the running process, but the question is how to update the progress bar automatically? Do I need to use threads to achieve the above two?
View 1 Replies
Nov 6, 2010
My code is that I want to create a log file and log it upon a new user browsing the site. However, what i did was I put in a 6 second delay and then used another browser to access the page. And it threw an Exception saying it is being used by another process which is true. So how come I set it so that, if IT is being used by another process, WAIT and retry every 500 milliseconds until it becomes free/available?
here's the code:
protected void Page_Load(object sender, EventArgs e)
{if (!IsPostBack) // if this is the first time page loads, set k to 1
{ lognewuser();
}}
[Code]....
View 1 Replies
Mar 28, 2011
I am having the text file which is used to track all the ip address which is available in the network and replace the content from"Reply from 172.29.116.3: bytes=32 time=1ms TTL=255" to 172.29.116.3.
For this task i am having 2 functions 1.runCMD() Function is used to create a file which ping all the ip address between 3 to 254 ("Reply from 172.29.116.3: bytes=32 time=1ms TTL=255").
2.Another function textFileReplace() which is used to replace the text from "Reply from 172.29.116.3: bytes=32 time=1ms TTL=255" to 172.29.116.3.
This process will continue every 30 minutes..
But i am having the error while accessing the function textFileReplace() as The process cannot access the file 'C:inetpub' because it is being used by another process.
View 4 Replies
Jan 4, 2010
I have the following situation: excel-like application, that is accessible from internet.
2 users access it and I want the moment one user clicks on a cell, the other user to see that. (like in google documents).
My questions are:
Can I do this using standard UpdatePanel, while I keep the bandwidth usage to its minimum (in other words, only information for the current cell is passed, not the whole huge table), or should I implement my own ajax scripts on the page in order to get it optimized.How to do the updating : one way is to have a timer on the page and update it periodacally, the other way is to make a request and keep the connection opened till a change is made (using some heavy timeout, let's say 1 minute). Can you give me clues (like ajax libraries I can use, can I do this with the standard ajax controls in asp.net, ways to implement the live connection)?
View 1 Replies
Nov 17, 2010
In my application
[code]....
is called on every page post back ,which fire query in db and bring 270 roles.
That can be optimized?
is it possible it called once at the time of login only.
View 3 Replies