I have written a C# console-application that depends on a number of environment variables. These variables are set in a *.bat file.
I would like to run that file and have the variables set in my application's environment.
Unfortunatly that doesn't work, a least not by using System.Diagnostics.Process.
I know System.Environment.
It allows me (among other things) to set and retrieve enviroment variables.
But I need to use the *.bat file because it is not under my control and I don't otherwise know the values it will set.
When I am executing the .net web applicaiton I get this error randomly. I mostly get it first time I start the application buy hitting F5. It ususally works second time. However, the execution might throw the same error when running the application second time as well.
FYI:I have C# web application
I see following message on the .net solution:
Disassembly cannot be displayed. The expression has not yet been translated to native machine code.
On the page side, I see
Internet Explorer cannot display the webpage
This problem can be caused by a variety of issues, including:
•Internet connectivity has been lost.
•The website is temporarily unavailable.
•The Domain Name Server (DNS) is not reachable.
•The Domain Name Server (DNS) does not have a listing for the website's domain.
•There might be a typing error in the address.
•If this is an HTTPS (secure) address, click Tools, click Internet Options, click Advanced, and check to be sure the SSL and TLS protocols are enabled under the security section.
i want to insert multiple rows to database in a single transaction via TransactionScope class, for this, i iterate through datatable that binds to datagridview for get list of rows to be inserted. here is my code :
using (SqlConnection con = new SqlConnection("data source=.;initial catalog=test;Trusted_Connection=Yes"))
SqlCommand cmd = con.CreateCommand();
cmd.CommandText = "insert Person(titleId,fname,lname) values(@titleId,@fname,@lname)";
System.Transactions.TransactionOptions trOptions = new System.Transactions.TransactionOptions();
trOptions.IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted;
trOptions.Timeout = new TimeSpan(0, 0, 15);
using (System.Transactions.TransactionScope ts = new System.Transactions.TransactionScope(System.Transactions.TransactionScopeOption.Required, trOptions))
foreach (DataRow row inthis.dt1.Rows)
int titleId = int.Parse(row["titleId"].ToString());
string fname = row["fname"].ToString();
string lname = row["lname"].ToString();
if (cmd.Parameters.Count > 0)
catch (Exception ex)
but when any error occur during foreach loop (insert loop), those rows that inserted to database, could not rollback.
where does my problem and how to solve it ?
Note : i know this can implement by SqlTransaction, but i want to do with TransactionScope class.
Wrap your TransactionScope around the entire thing. ADO.NET will autoenroll in a System.Transaction if one is in scope, but only if it is created within that scope. The way your example is written, you are creating your transaction after you create your command and connection...I don't think auto-enrollment is possible in that scenario.
using (TransactionScope scope = new TransactionScope())
using (SqlConnection con = new SqlConnection(...))
using (SqlCommand cmd = new con.CreateCommand())
// perform transacted behavior here
I'm just beginning to get my head around C#, having moved from a background in C/C++, Java, and (a long time ago) Pascal.
I'm writing a program in which I have declared a series of classes that model the data layer and which, as in this layer I'm working with .xml, the class names reflect the schema of that layer, with names like ...Node and ...ChildNode and the like. As I now move up to the business model layer, I'd like to recast these type names to others more suitable to that model. For example, instead of XMLProjectNode I'd like to just use Project.
I'm experimenting with aliases and using things like:
using Project = My.Namespace.XMLProjectNode;
but what I'd like to be able to do is declare these aliases somewhere in a once-for-all location so that they can be imported into any module for immediate use without the need for redefinition.
In C++ I would put some #defines in a header file and #include it wherever I needed them. However, I can't seem to find an analogous way to do that in C#.
Please expand. Based on my reading of the OP, he was asking if it was possible to store using statements in one location and then reuse them in other locations just by referring to this single location.
"WPF has many lovers. It's a veritable porn star!" - Josh Smith
using System ;
# include "test.h"namespace Template
Console.WriteLine ( "It works" ) ;
C:\>"C:\Program files\mingw\bin\cpp" -P -C -w test.cs test.csi
Microsoft (R) Visual C# 2008 Compiler version 3.5.30729.1for Microsoft (R) .NET Framework version 3.5
Copyright (C) Microsoft Corporation. All rights reserved.