|
Is there a way to actually test a connection to the mail server without sending a test email? I figure you could send a "test" email and wait for an exception to tell if the mail server was there, but you would need a valid mailbox.
Basically how could you test a connection to a mail server, maybe not testing to see if Exchange or something was there, but just to see if you could reach that server at all?
|
|
|
|
|
Create a TCP connection to it, if it doesn't greet you it's dead. If it does greet you you could HELO it and check whether it says OK, or just decide that it's all good. Then either send a QUIT or just break the connection, if the server can't handle sudden connection breaking then they should fix it ASAP anyway so I wouldn't feel too bad about that.
|
|
|
|
|
Ohhh... I didn't even think about that.. I don't think I need to send anything, I just need to be able to connect to the server...
So..
TcpClient tcp = new TcpClient();
tcp.ReceiveTimeout = 3;
try
{
tcp.Connect(Properties.Settings.Default.smtpHost, 25);
return true;
}
catch (Exception ex)
{
return false;
}
finally
{
tcp.Close();
}
Seems to work great! Thanks
|
|
|
|
|
Hi All,
I am using .NET framework 1.1. I want to resize an array dynamically.As I am using 1.1, I can not use Array.Resize() method. I have the code to resize built in types. But my array is an array of structures.Thus following code is not working with it.It is working fine for any built-in type like int or float.Please help me to resize an array of structures dynamically.
<br />
public static System.Array ResizeArray (System.Array oldArray, int newSize) {<br />
int oldSize = oldArray.Length;<br />
System.Type elementType = oldArray.GetType().GetElementType();<br />
System.Array newArray = System.Array.CreateInstance(elementType,newSize);<br />
int preserveLength = System.Math.Min(oldSize,newSize);<br />
if (preserveLength > 0)<br />
System.Array.Copy (oldArray,newArray,preserveLength);<br />
return newArray; }<br />
|
|
|
|
|
|
Hi,
You've gone to the trouble of writing some code so surely you can pose a better question than "It's not working".
What is it doing and what is it not doing?
Out of interest I tried the following test and it worked!
Alan.
class Program {
struct myStruct {
internal Int32 i, j;
}
static void Main(string[] args) {
myStruct[] first = new myStruct[5];
for (int c = 0; c < first.Length; c++) {
first[c].i = c;
first[c].j = c;
}
Type t = first.GetType();
Type t2 = t.GetElementType();
myStruct[] second = (myStruct[])Array.CreateInstance(t2, 10);
first.CopyTo(second, first.Length);
for (int c = first.Length; c < second.Length; c++) {
second[c].i = c;
second[c].j = c;
}
Console.ReadLine();
}
}
|
|
|
|
|
way too much of a reply to a lazy question if you ask me.
Luc Pattyn [Forum Guidelines] [My Articles]
- before you ask a question here, search CodeProject, then Google
- the quality and detail of your question reflects on the effectiveness of the help you are likely to get
- use the code block button (PRE tags) to preserve formatting when showing multi-line code snippets
|
|
|
|
|
|
I agree with you, that is the implementation of ArrayList or a List<t>.
Natza Mitzi
|
|
|
|
|
I still don't get why C# programmers even use arrays, unless some method returns that type.
Generic List are so much better and not even larger.
Maybe in C++ a vector is a lot larger than a simple array, but in C# even arrays come with about the same amount of methods, so the difference in size is negligible.
|
|
|
|
|
Because you access any element of an array in a O(1) while you do that in a O(n) for a linked list.
This does not mean that arrays are better than linked lists. The choice of the appropriate data structure depends on the situation.
O(1) means that the operation takes a constant amount of time no matter the number of elements is.
O(n) means that the amount of time increases linearly with the number of elements.
List of data structures[^]
Asymptotic notation[^]
Eslam Afifi
|
|
|
|
|
I need a name of tool that convert from c to c#.
|
|
|
|
|
For names, look here[^], for the conversion utility, do a Google and you'll find tools like this[^] one.
Enjoy
I are troll
|
|
|
|
|
I need a free download tool.
|
|
|
|
|
Other than the one called "Experienced Programmer" i haven't heard of one that can convert from C to C# and it does not come cheap, also depending on the size of the project, it will take time.
|
|
|
|
|
Well, that is too much for the asking. Google it.
|
|
|
|
|
Our C++ to C# Converter tool has a demo edition which allows conversion of 100 lines at a time - this will save you some effort, but keep in mind that conversion from C or C++ to C# is not trivial and will require significant work on your part also. I wouldn't recommend attempting conversion unless you're fairly experienced with both C/C++ and C#.
David Anton
http://www.tangiblesoftwaresolutions.com
Convert C++ to C#, VB, or Java
Convert Java to C#, VB, or C++
Convert VB to C#, C++, Java, or Python
Convert C# to VB, C++, Java, or Python
|
|
|
|
|
I recently stumbled across a tool in vs 2008 that removes unused usings. Is there a similar tool that removes unused methods?
many thanks
Jonathan Harker
preecesoftware.co.uk
|
|
|
|
|
Did you order a copy of Resharper yet? If you haven't, download a trial now
I are troll
|
|
|
|
|
Eddy Vluggen wrote: Did you order a copy of Resharper yet?
Pah! Dev Express' Refactor Pro and Code Rush are better.
|
|
|
|
|
How can one be "better" at throwing away things?
Luc Pattyn [Forum Guidelines] [My Articles]
- before you ask a question here, search CodeProject, then Google
- the quality and detail of your question reflects on the effectiveness of the help you are likely to get
- use the code block button (PRE tags) to preserve formatting when showing multi-line code snippets
|
|
|
|
|
I have some strings similar to these :
rx1:Sender.rx1:Name
rx2:Address.rx2:Street
I want to remove all the substrings that start with "rx" and end with a colon. Between the "rx" and the colon, there can be any number, but usually it's just one digit. So in the end I need to have:
Sender.Name
Address.Street
What's the most elegant way to do this?
Thanks.
|
|
|
|
|
I would go with code below:
string str = "rx1: sender. rx1:name";
while(str.Contains(":"))
str = str.Remove(str.IndexOf("rx"), str.IndexOf(":") - str.IndexOf("rx") + 1);
|
|
|
|
|
You could do a <code>Regex.Replace</code> with the pattern "(rx\d+ "
Regards
Senthil [MVP - Visual C#]
_____________________________
My Home Page |My Blog | My Articles | My Flickr | WinMacro
|
|
|
|
|
Hi
I have an application which acts different outside VS.
This application has more than 1 form. Program decides on which form to start at Program.cs according to some stuff.
bool update=false
if (update == true)
{
MessageBox.Show("launcherupdate form is opening");
Application.Run(new launcherupdate());
}
else if (update == false)
{
MessageBox.Show("login form is opening");
Application.Run(new login());
}
When I use this code on VS, there is no problem. Application opens the forms correctly according to the update bool's value. But when I compile the code and use it out of VS. It suddenly opens the login form. Not even with showing messagebox before it.
I don't know what can I do to fix this. By the way if it's important, I have added launcherupdate form after opening the project.
Thanks in advance.
|
|
|
|