|
Hi all,
In my solution I already have lots of business object unit tests. However I also want to test the web service layer. So to do this I've added another project to the solution and added a project reference to the web service layer. So now I can see all the web methods.
The problem I have is that when I want to go to the database my method GetDAOFactory() always returns null. I think this is because the global file inherits the HttpApplication class. E.G.
Try and get the customer or create a new one
1)
private Customer GetCustomerInSession()
{
Customer customer = Session[PropertyCustomer] as Customer;
if (customer == null)
{
Session[PropertyCustomer] = customer = new Customer(GetDAOFactory());
}
return customer;
}
Get the DAO Factory this returns null
2)
private IDAOFactory GetDAOFactory()
{
return Application[Global.DAOFactorySetting] as IDAOFactory;
}
I think the reason is because global inherits HttpApplication
3)
public class Global : HttpApplication
{
protected void Application_Start(object sender, EventArgs e)
{
// create data access implementation
string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["DevBox"].ConnectionString;
Application[DAOFactorySetting] = new ADODAOFactory(ProviderType.SqlServer, connectionString);
}
protected void Application_End(object sender, EventArgs e)
{
}
public static readonly string DAOFactorySetting = "DAOFactory";
}
Any ideas why its returning null?
I've thought of one solution and that would be to change the reference to a web reference. The only problem then is that I would either have to add a localhost web reference which wouldn't work with the CI build. Or to reference the published development app layer, but that would mean that when I change my code I wouldn't be able to test it until it was committed!!
Any help would be greatly appreciated. I'm using C#.Net 2.0 with NUnit 2.4.7
Phil
P.S. I've copied the connectionString DevBox to the App.config in the WebServiceTests project so that it can see it.
|
|
|
|
|
An odd question but i have an interface which recieves a byte array of 1024 bytes from another device.
Byte Number Page Column
0 to 127 0 0 to 127 // bottom right
128 to 255 1 0 to 127
256 to 383 2 0 to 127
384 to 511 3 0 to 127
512 to 639 4 0 to 127
640 to 767 5 0 to 127
768 to 895 6 0 to 127
896 to 1023 7 0 to 127 // top left
Does anyone know if i can somehow convert these bytes to be represented in the text box on the GUI.
1023 896
895 768
767 640 // screen layout
639 512
511 384
383 256
255 128
127 0
Thanx in advance
|
|
|
|
|
maybe something like...
TextBox1.Clear();
for(int i = 1023; i >= 0; i--)
{
TextBox1.Text += ByteArray[i] + " ";
if(i % 128 == 0)
TextBox1.Text += System.Environment.NewLine;
}
...make sure you textbox supports multiline and that should work. Also you would be better using a StringBuilder[^].
Life goes very fast. Tomorrow, today is already yesterday.
|
|
|
|
|
well i have a string which contains a unix timestamp.
when i try to convert the string to either a double or a int, it gives me an error.
im out of ideas, i dont know how to get the string into a int or double, so i can convert it from unix to datetime.
here is my code:
string validstrStart = "validuntil=";
string validstrEnd = "username=";
int validstartIndex = result.IndexOf(validstrStart);
int validendIndex = result.IndexOf(validstrEnd);
string valid = result.Substring(validstartIndex, validendIndex - validstartIndex);
double timestampv = Convert.ToDouble(valid);
System.DateTime dateTime = new System.DateTime(1970, 1, 1, 0, 0, 0, 0);
dateTime = dateTime.AddSeconds(timestampv);
string validpro = dateTime.ToShortDateString() + " " + dateTime.ToShortTimeString();
it gives me an error in this line:
double timestampv = Convert.ToDouble(valid);
same thing when i try with an int.
any help please
|
|
|
|
|
I guess a unix timestamp is neither in the form of an int or a double. What does it look like ?
Christian Graus
Driven to the arms of OSX by Vista.
Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.
|
|
|
|
|
an example is:
1241771674
this is the unix timestamp of the date right now.
all of them are integers, and i think doubles as well.
so yeh :S
i dont know why its not working
|
|
|
|
|
I suspect you will find that's bigger than the maximum value for an int. So, try using long and see how that goes. I'm not sure what the max value for a long is.
Christian Graus
Driven to the arms of OSX by Vista.
Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.
|
|
|
|
|
but you cant convert a string to a long.
remember, i need to convert the string into a int/long/double whatever, but i keep getting errors
|
|
|
|
|
iNutR wrote: but you cant convert a string to a long.
What on earth makes you think that ?
iNutR wrote: remember, i need to convert the string into a int/long/double whatever, but i keep getting errors
int.Parse and long.Parse can both return the number you gave me. So, can Convert.ToInt32, or Convert.ToIn64. Convert.ToInt16 gives an over flow error.
The maximum value of int is 2147483647.
Perhaps you need to tell us the exact error you're getting, because converting these numbers to int or long works just fine.
Christian Graus
Driven to the arms of OSX by Vista.
Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.
|
|
|
|
|
sorry, my bad.
when i try to convert to an int or a long, i get this error, however the program debugs fine, just when i click the cmd button to do the action, it get this error:
http://i26.tinypic.com/4zvvwz.png[^]
i have no idea what im doing wrong ^^
|
|
|
|
|
The string cannot be a number when that error is thrown. Try using int.TryParse or long.TryParse, to give your code a chance to recover when it gets bad input
Christian Graus
Driven to the arms of OSX by Vista.
Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.
|
|
|
|
|
use the watch window to see what is in valid - or the locals window
Weight loss Target
Weight at start [1/Feb/2009] 127kg
Weight now [31/Jul/2009] 107.7kg
Target weight : 80kg
Only 28 TO go hope to be there by March Wish me luck!
|
|
|
|
|
try double.Parse("1241771674");
|
|
|
|
|
im still getting the same error as posted :S
|
|
|
|
|
Try adding code to catch the error and show you the string that caused it, so you can confirm that it's not a number. It plainly is not a number, it must have some extra characters in it that are causing it to break.
Christian Graus
Driven to the arms of OSX by Vista.
Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.
|
|
|
|
|
thanks alot!
you just reminding me of something that fixed it
thanks
|
|
|
|
|
Please can you share what fixed it?
Weight loss Target
Weight at start [1/Feb/2009] 127kg
Weight now [31/Jul/2009] 107.7kg
Target weight : 80kg
Only 28 TO go hope to be there by March Wish me luck!
|
|
|
|
|
Hi,
there are two parts to the "problem", one is you get a string and need a number, two is you need to convert that number to a DateTime.
A Unix timestamp is the number of seconds since 01-JAN-1970, hence:
string unixStampString="1241771674";
int unixStamp;
if (int.TryParse(unixStampString, out unixStamp)) {
DateTime dt=new DateTime(1970, 1, 1).AddSeconds(unixStamp);
Console.WriteLine(dt.ToString());
} else {
Console.WriteLine("Input error");
}
Now the silly thing is the result is 08-MAY-2009, hardly today.
You can check that here.[^]
To get today, your UNIX timestamp should be close to 1249489460
Luc Pattyn [Forum Guidelines] [My Articles]
The quality and detail of your question reflects on the effectiveness of the help you are likely to get.
Show formatted code inside PRE tags, and give clear symptoms when describing a problem.
|
|
|
|
|
In my applcn client first connects to server then client disconnects but the server should wait again to accept new connection.
wht is the code to do this.
can anyone help me .............
This code was posted by me...
|
|
|
|
|
Well, your code was listening, so I guess it needs to listen for a connection again
Christian Graus
Driven to the arms of OSX by Vista.
Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.
|
|
|
|
|
how do i make server listen for new connection again
This code was posted by me...
|
|
|
|
|
There are lots of ways.
You could use a
While(true)
{
Your server code goes here;
}
When the server closes the connection and finishes it will start over and be ready
to accept a new connection
|
|
|
|
|
I'm trying to convert an uint value to int, but it always raise overflow exception as it should. Actually, I'm hashing the url and saving an int value in SQL, since the hashed value is in uint and SQL do not support uint in DB so I've to convert it to int. Using bigint is also a way to go but space does matter in there. So I'm just wondering that is there any way to do that...?
Edited :
Okay, I got an idea...
uint ToUInt(int value)
{
return value < 0 ? (uint)(int.MaxValue - value) : (uint)value;
}
int ToInt(uint value)
{
return value > int.MaxValue ? (int)(int.MaxValue - value) : (int)value;
}
TVMU^P[[IGIOQHG^JSH`A#@`RFJ\c^JPL>;"[,*/|+&WLEZGc`AFXc!L
%^]*IRXD#@GKCQ`R\^SF_WcHbORY87֦ʻ6ϣN8ȤBcRAV\Z^&SU~%CSWQ@#2
W_AD`EPABIKRDFVS)EVLQK)JKQUFK[M`UKs*$GwU#QDXBER@CBN%
R0~53%eYrd8mt^7Z6]iTF+(EWfJ9zaK-iTV.C\y<pjxsg-b$f4ia>
-----------------------------------------------
128 bit encrypted signature, crack if you can
modified on Wednesday, August 5, 2009 5:55 AM
|
|
|
|
|
how about
uint u;
return unchecked((int)u);
or
int i;
return unchecked((uint)i);
??
A train station is where the train stops. A bus station is where the bus stops. On my desk, I have a work station....
_________________________________________________________
My programs never have bugs, they just develop random features.
|
|
|
|
|
cool
TVMU^P[[IGIOQHG^JSH`A#@`RFJ\c^JPL>;"[,*/|+&WLEZGc`AFXc!L
%^]*IRXD#@GKCQ`R\^SF_WcHbORY87֦ʻ6ϣN8ȤBcRAV\Z^&SU~%CSWQ@#2
W_AD`EPABIKRDFVS)EVLQK)JKQUFK[M`UKs*$GwU#QDXBER@CBN%
R0~53%eYrd8mt^7Z6]iTF+(EWfJ9zaK-iTV.C\y<pjxsg-b$f4ia>
-----------------------------------------------
128 bit encrypted signature, crack if you can
|
|
|
|