|
Any exception handling in your aspx pages could do this. The benfits of using the Enterprise Library blocks is that you can easily configure it to do more than just handle the exceptions, such as log the exception, ignore it, or wrap it in another exception, all with changes to your code.
only two letters away from being an asset
|
|
|
|
|
Hi all.
When I execute a simple sql command through my C# app, I get an error that says that an sql timeout has occured.
When I run the exact same command through query analizer it takes about 8 seconds to complete and returns all rows.
Does anyone have an idea why this happens. I have set the connection time out to 30 seconds and then to 60 seconds and I still recieve the same error.
Thanx in advance
He who laughs last is a bit on the slow side
|
|
|
|
|
I'm sure I'm not the best expert on this, but the first two things I would do are:
1) double check your connection string in the app
2) check out the resources that your app is using, potentially it could be hogging everything so that sql server runs more slowly and times out
hope those help or that someone else can give you the real low down
~A
|
|
|
|
|
Thanx for the reply, I know the connection is fine, when I step through it, it loads all the values into my dataset, then I loop through the dataset and populate a listview. The first time I run the app it will populate the listview with lets say 20 entries, the second time it will populate the list view with 80 entries.
The problem being that its with the exact same operation and I can't think that the app uses that much resources, or should I say I rather hope not.
Once again many thanx for the quick reply.
He who laughs last is a bit on the slow side
|
|
|
|
|
I will hazard a guess based on my experience of the exact same thing. here goes:
You have set the connection timeout in the connections string to 30 (or 60) seconds and not the Command timeout which is set on the relevant Command object.
|
|
|
|
|
J4amieC wrote: How to get answers to your questions[^]
I'm sorry if I posted this under the wrong discussion. Seeing as I thought it wasn't a sql problem I thought it might be a problem within my code.
I removed the timeout on the connection, but still recieve the timeout error.
I will look into the Command timeout.
J4amieC wrote: Command timeout which is set on the relevant Command object.
With that I asume you are talking about the sql command object, such as the select statement.?
Many thanx for the reply
He who laughs last is a bit on the slow side
|
|
|
|
|
The connection previously were created using sa, the sql system administrator.
I changed that to a different user to login into the database, and from there it all went wrong, can it be anything with that, the user I created also has all adminitrator rights. Unfortunatily I'm not much of a sql fundu, still have alot to learn.
He who laughs last is a bit on the slow side
|
|
|
|
|
I am struggling to get code for an application that can loads dll's and expose their controls.
I want to load a dll, and create multiple instances of that control on a panel.
At the moment I can create a button for each plugin dll. When I click it, it loads that control onto a panel. The problem is I can only create One instance of the control in that dll. Is there a way to create multiple instances of the controls contained in the dll?
Pieter Myburgh
|
|
|
|
|
That sounds like a problem with the plugin-interface.
There is no reason why the interface can't have a method "createNewInstance" which would .. well .. create a new instance of the control's class and return an id. You then could write the plugin in a way that the id is used to identify the control needing changes or updates.
Cheers,
Sebastian
--
Contra vim mortem non est medicamen in hortem.
|
|
|
|
|
Hi guys,
I am having a hard time working with transition on forms and I request your help. I have a configuration project where I go from one form to another getting user's settings. What I would like to do is when the user opens step1 and moves to step 2, it closes step one and if the user on Step2 clicks on back it opens step 1. Basically I would like to hide the forms on the next click and reshow the forms on the back click. Please help!!!!
sasa
|
|
|
|
|
That sounds like a bad idea. You will have to make sure that all the forms are the same size and appear in the same spot, or the user will get confused. For this kind of scenario (one form at a time), there is the TabControl you can use to fit multiple forms in one window. Then, you could add a button "next", which would switch to the next tab (maybe storing that forms data first) and a button for the "previous" step. With this functionality, the user could simply change between forms using either the tab control or the prev/next-buttons.
Trust me, forcing the user in a too tight set of constraints WILL upset him. After all, we are talking USER interfaces here. There is a reason this isn't called a "DEVELOPER interface".
|
|
|
|
|
Thank you Sebastian, I appreciate your suggestion. I like your idea and I think I will go with the tab control because that will reduce a lot of other work as well of hiding forms and reshowing forms with the previously entered data, etc.
Thanks!!!
sasa
|
|
|
|
|
Hello
With all respect and regards to Sebestian, the model you are asking about is not a bad idea at all. It's caled the wizard UI model, and it's already implemented in almost all installers and several other well known applications, when simplifying a task for the user is required.
Anyway, there are two ways that I know of to implement this model.
1- As you suggested. To make a form for each step, and hide =/show each form according to the user's choice. Two scenarios:
You are implementing a wizard in your main form. In this case you will make Form objects in your main Form's class, like this:
Ps. a- Step1Form is another form that you design in another file.
b- Make in each step the back button as Cancel, and next as OK buttons.
public partial class MyMainForm : Form
{
private Step1Form Step1;
private Step2Form Step2;
private Step3Form Step3;
MyMainForm()
{
Step1 = new Step1Form()
Step2 = new Step2Form()
Step3 = new Step3Form()
}
public void MyWizardMethod()
{
this.Hide();
while(true)
{
if(Step1.ShowDialog() == DialogResult.Ok && Step2.ShowDialog() == DialogResult.Ok && Step3.ShowDialog() == DialogResult.Ok)
{
break;
}
else if()
{
}
else
continue;
}
this.Show();
}
}
NB. If you don't have a main Form for the wizard, you can make the last step -ie. the result- as the main form.
2- Second way of making a wizard is;
a- Make a single form
b- Put each step's controls in a panel or a groupbox
c- Show/Hide according to the current step
Regards
|
|
|
|
|
Hi all,
Is there a way for a process running to know if a specific IPC channel or object type has been IPC - registered (registered well known service type) by a server process running in the same machine ?
Thanks a lot,
Juan
|
|
|
|
|
Hello.
I've have this little method (yes - I know it makes no sense - but it is a test):
<br />
public void AddNumbers()<br />
{<br />
Int16 a = 2;<br />
Int16 b = 4;<br />
Int16 c = 6;<br />
<br />
Int16 result = a + b + c;<br />
}<br />
The above will not compile. I get the CS0266 compiler error: Cannot implicitly convert type 'int' to 'short'. An explicit conversion exists (are you missing a cast?)
But this will:
<br />
public void AddNumbers()<br />
{<br />
Int16 a = 2;<br />
Int16 b = 4;<br />
Int16 c = 6;<br />
<br />
Int32 result = a + b + c;<br />
}<br />
Now why is this happening? I've checked the IL code for the method, it looks like this:
<br />
.method public hidebysig instance void AddNumbers() cil managed<br />
{<br />
.maxstack 2<br />
.locals init ([0] int16 a,<br />
[1] int16 b,<br />
[2] int16 c,<br />
[3] int32 result)<br />
IL_0000: nop<br />
IL_0001: ldc.i4.2<br />
IL_0002: stloc.0<br />
IL_0003: ldc.i4.4<br />
IL_0004: stloc.1<br />
IL_0005: ldc.i4.6<br />
IL_0006: stloc.2<br />
IL_0007: ldloc.0<br />
IL_0008: ldloc.1<br />
IL_0009: add<br />
IL_000a: ldloc.2<br />
IL_000b: add<br />
IL_000c: stloc.3<br />
IL_000d: ret<br />
}
As far as I can see IL adds the numbers as ldc.i4. is this integer 4 byte? Because if it is, why does it not get the numbers from ldc.i2. instead? Since my variables are of the type Int16?
Can anybody tell me why?
Best regards
Soeren
|
|
|
|
|
Bad Robot wrote: As far as I can see IL adds the numbers as ldc.i4. is this integer 4 byte? Because if it is, why does it not get the numbers from ldc.i2. instead? Since my variables are of the type Int16?
Can anybody tell me why?
That is what is happening. It's needed because adding two int16's could overflow and require an Int32 to store the result. Forcing an explicit cast is intended to make the developer aware of the failcase at design time rather than having a user discover it via a runtime exception.
|
|
|
|
|
dan neely wrote: That is what is happening. It's needed because adding two int16's could overflow and require an Int32 to store the result.
This is obviously not the case here, see my post below. Using the unchecked keyword also fails.
regards
modified 12-Sep-18 21:01pm.
|
|
|
|
|
This is strange indeed. The compiler also complains when using the unchecked keyword.
I googled a bit and found out that ldc only supports i4, i8, r4 and r8 as parameters (i=int, r=float), which would mean that Int16 are internally interpreted as Int32 , can anyone confirm this?
The "ldc" instruction can support a 4-byte integer (i4), an 8-byte integer (i8), a 4-byte float (r4) or an 8-byte float (r8).
-> source
regards
modified 12-Sep-18 21:01pm.
|
|
|
|
|
That makes sense considering processor registers, supported by the .NET Framework, are either 32 or 64 bits wide.
According to the documentation for the LDC_I4[^] and LDC_I8[^] opcodes, yes, this is the case. Integers of any size are stored in either 4 or 8 bytes.
Dave Kreskowiak
Microsoft MVP - Visual Basic
|
|
|
|
|
short s are promoted - converted - to int s before performing calculations. This is true in C and C++ as well as in C#. Therefore the type of 'a + b' is Int32 . When you then try to assign the result of the expression (which is Int32 ) back to an Int16 , there's a type mismatch, which produces the error message.
|
|
|
|
|
I have this code:
Stream s = File.Open(@destinationDirectory + tableName + ".cs", FileMode.Create);
StreamWriter sw = new StreamWriter(s);
CodeGeneratorOptions cop = new CodeGeneratorOptions();
CodeNamespace cdm = new CodeNamespace(nameSpace);
CSharpCodeProvider cscProvider = new CSharpCodeProvider();
ICodeGenerator cscg = cscProvider.CreateGenerator(sw);
CodeTypeDeclaration ctd = new CodeTypeDeclaration(tableName);
ctd.IsClass = true;
ctd.TypeAttributes = System.Reflection.TypeAttributes.Public;
This works just fine for creating the class.
But, I want to declare this a partial class for this reason. I have a main code file with methods and what not. But, I am creating the properties for the class dynamically. So I want this class to be a partial class file that is never opened and can be replaced any time.
So I need to say "public partial class". Does anyone know how?
Thanks,
Nick
--------------------------------------------------------
1 line of code equals many bugs. So don't write any!!
My mad coder blog
|
|
|
|
|
nevermind, its a boolean property in the code type declaration
--------------------------------------------------------
1 line of code equals many bugs. So don't write any!!
My mad coder blog
|
|
|
|
|
Happens to me all the time: ask a question to which I didn't bother enough/was too deep thinking to quickly find the answer myself.
Best regards...
Vini - Csharpian
|
|
|
|
|
Hello,
I have been trying to modify the available .NET WMI examples on The Code Project so that I could uniquely identify a pen-drive (usb key). Unlike the hard disks, pen drives do not expose a property like UniqueID. Any ideas of what I could use to uniquely identify it?
I have already read and tried the "normal" examples available on .NET's WMI.
Thank you all in advance,
Vini - CSharping a lot
|
|
|
|
|
Hi!
I think Win32_DiskDrive.PNPDeviceID is unique. I tried it with two idential usb sticks and they gave different PNPDeviceID's.
Regards,
mav
--
Black holes are the places where god divided by 0...
|
|
|
|