|
Hi,
I have a windows form on which i have placed some controls. Basically the i get exception on line on which first text box is instantiated. This problem is only with Text Boxes. All other controls are instantiated well. Any solution please...
|
|
|
|
|
May it be a syntax error, in the code right above the instantiation.
"I am a lair" Is this statement true or false ?
|
|
|
|
|
Hi!
Knowing which exception is thrown would help tremendously.
Right now you just said "something is wrong". How are we to help you if you don't tell us what exactly is happening?
mav
|
|
|
|
|
The exception is basically ArithmaticException that is just thrown on the line on which i instantiate my first TextBox
|
|
|
|
|
That's not helpful!
You MUST start posting code and the real excaption info or no-one is able to help you!
mav
|
|
|
|
|
Hi!, I want to exchange multiple messages between my server and client.But the trouble is that no furthur messages are sent after the first exchange.
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading;
using Microsoft.Samples.Security.SSPI;
using Microsoft.Samples.Security.SSPI.Sample.ClassLibrary.Server;
using Microsoft.Samples.Security.SSPI.Sample.ClassLibrary.Client;
This is my server code
// State object for reading client data asynchronously
public class StateObject
{
// Client socket.
public Socket workSocket = null;
// Size of receive buffer.
public const int BufferSize = 1024;
// Receive buffer.
public byte[] buffer = new byte[BufferSize];
// Received data string.
public StringBuilder sb = new StringBuilder();
}
public class AsynchronousSocketListener
{
// Incoming data from client.
public static string data = null;
// Thread signal.
public static ManualResetEvent allDone = new ManualResetEvent(false);
public AsynchronousSocketListener()
{
}
public static void StartListening()
{
// Data buffer for incoming data.
byte[] bytes = new Byte[1024];
// Establish the local endpoint for the socket.
// The DNS name of the computer
// running the listener is "host.contoso.com".
Console.WriteLine(Dns.GetHostName().ToString());
IPHostEntry ipHostInfo = Dns.Resolve(Dns.GetHostName());
IPAddress ipAddress = ipHostInfo.AddressList[0];
IPEndPoint localEndPoint = new IPEndPoint(ipAddress, 5000);
// Create a TCP/IP socket.
Socket listener = new Socket(AddressFamily.InterNetwork,
SocketType.Stream, ProtocolType.Tcp );
// Bind the socket to the local endpoint and listen for incoming connections.
try
{
listener.Bind(localEndPoint);
listener.Listen(100);
while (true)
{
// Set the event to nonsignaled state.
allDone.Reset();
// Start an asynchronous socket to listen for connections.
Console.WriteLine("Waiting for a connection...");
listener.BeginAccept(
new AsyncCallback(AcceptCallback),
listener );
// Wait until a connection is made before continuing.
allDone.WaitOne();
}
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
}
Console.WriteLine("\nPress ENTER to continue...");
Console.Read();
}
public static void AcceptCallback(IAsyncResult ar)
{
// Signal the main thread to continue.
allDone.Set();
// Get the socket that handles the client request.
Socket listener = (Socket) ar.AsyncState;
Socket handler = listener.EndAccept(ar);
// Create the state object.
StateObject state = new StateObject();
state.workSocket = handler;
handler.BeginReceive( state.buffer, 0, StateObject.BufferSize, 0,
new AsyncCallback(ReadCallback), state);
}
public static void ReadCallback(IAsyncResult ar)
{
String content = String.Empty;
// Retrieve the state object and the handler socket
// from the asynchronous state object.
StateObject state = (StateObject) ar.AsyncState;
Socket handler = state.workSocket;
// Read data from the client socket.
int bytesRead = handler.EndReceive(ar);
if (bytesRead > 0)
{
// There might be more data, so store the data received so far.
state.sb.Append(Encoding.ASCII.GetString(
state.buffer,0,bytesRead));
// Check for end-of-file tag. If it is not there, read
// more data.
content = state.sb.ToString();
if (content.IndexOf("<eof>") > -1)
{
// All the data has been read from the
// client. Display it on the console.
Console.WriteLine("Read {0} bytes from socket. \n Data : {1}",
content.Length, content );
// Echo the data back to the client.
Send(handler, content);
}
else
{
// Not all data received. Get more.
handler.BeginReceive(state.buffer, 0, StateObject.BufferSize, 0,
new AsyncCallback(ReadCallback), state);
}
}
}
private static void Send(Socket handler, String data)
{
// Convert the string data to byte data using ASCII encoding.
StringBuilder appendEof = new StringBuilder();
ServerContext _ServerContext = null;
ServerCredential serverCred =
new ServerCredential(Credential.Package.NTLM);
_ServerContext = new ServerContext(serverCred,Encoding.ASCII.GetBytes(data));
//string eof="<eof>";
appendEof.Append(_ServerContext.Token);
//appendEof.Append(eof);
//byte[] byteData = Encoding.ASCII.GetBytes(appendEof.ToString());
// Begin sending the data to the remote device.
handler.BeginSend(_ServerContext.Token, 0, _ServerContext.Token.Length, 0,
new AsyncCallback(SendCallback), handler);
}
private static void SendCallback(IAsyncResult ar)
{
try
{
// Retrieve the socket from the state object.
Socket handler = (Socket) ar.AsyncState;
// Complete sending the data to the remote device.
int bytesSent = handler.EndSend(ar);
Console.WriteLine("Sent {0} bytes to client.", bytesSent);
//handler.Shutdown(SocketShutdown.Both);
//handler.Close();
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
}
}
public static int Main(String[] args)
{
StartListening();
return 0;
}
}
This is my client code
using System;
using System.Net;
using System.Net.Sockets;
using System.Threading;
using System.Text;
using Microsoft.Samples.Security.SSPI;
using Microsoft.Samples.Security.SSPI.Sample.ClassLibrary.Server;
using Microsoft.Samples.Security.SSPI.Sample.ClassLibrary.Client;
// State object for receiving data from remote device.
public class StateObject
{
// Client socket.
public Socket workSocket = null;
// Size of receive buffer.
public const int BufferSize = 256;
// Receive buffer.
public byte[] buffer = new byte[BufferSize];
// Received data string.
public StringBuilder sb = new StringBuilder();
}
public class AsynchronousClient
{
// The port number for the remote device.
private const int port = 5000;
// ManualResetEvent instances signal completion.
private static ManualResetEvent connectDone =
new ManualResetEvent(false);
private static ManualResetEvent sendDone =
new ManualResetEvent(false);
private static ManualResetEvent receiveDone =
new ManualResetEvent(false);
public ClientCredential clientCred;
public ClientContext clientContext;
// The response from the remote device.
private static String response = String.Empty;
private static void StartClient()
{
// Connect to a remote device.
try
{
// Establish the remote endpoint for the socket.
// The name of the
// remote device is "host.contoso.com".
IPHostEntry ipHostInfo = Dns.Resolve("impetus-591");
IPAddress ipAddress = ipHostInfo.AddressList[0];
IPEndPoint remoteEP = new IPEndPoint(ipAddress, port);
// Create a TCP/IP socket.
Socket client = new Socket(AddressFamily.InterNetwork,
SocketType.Stream, ProtocolType.Tcp);
// Connect to the remote endpoint.
client.BeginConnect( remoteEP,
new AsyncCallback(ConnectCallback), client);
connectDone.WaitOne();
//Assigning NTLM package
ClientCredential clientCred =new ClientCredential(Credential.Package.NTLM);
//Establishing context
ClientContext clientContext =new ClientContext(clientCred, "",ClientContext.ContextAttributeFlags.None);
string tokenString=Encoding.ASCII.GetString(clientContext.Token);
// Send test data to the remote device.
Send(client,"<eof>",tokenString);
sendDone.WaitOne();
// Receive the response from the remote device.
Receive(client);
receiveDone.WaitOne();
// Write the response to the console.
Console.WriteLine("Response received : {0}", response.Length);
/*
// complete the authentication handshake
while (clientContext.ContinueProcessing == true)
{
try
{
clientContext.Initialize(Encoding.ASCII.GetBytes(response));
}
catch(Exception ex)
{
Console.WriteLine("\nException: ",ex.ToString());
}
if (clientContext.Token != null)
{
// send the authenticate request to the server
//Console.WriteLine("\nSending the authentication request now..."+clientContext.Token.Length);
tokenString=Encoding.ASCII.GetString(clientContext.Token);
Send(client,"<eof>",tokenString);
sendDone.WaitOne();
//Recieve the response from the server
//Receive the response from the remote device.
Receive(client);
receiveDone.WaitOne();
/*if(length!=0)
{
Console.WriteLine("The length of server response is "+length);
Byte[] serverToken1=new Byte[length];
Console.WriteLine("Reading the server response now..\n");
serverToken1=binaryReader.ReadBytes(length);
}*/
// }
//}
//Console.WriteLine("\n Authentication Completed ");
// Release the socket.
client.Shutdown(SocketShutdown.Both);
client.Close();
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
}
}
private static void ConnectCallback(IAsyncResult ar)
{
try
{
// Retrieve the socket from the state object.
Socket client = (Socket) ar.AsyncState;
// Complete the connection.
client.EndConnect(ar);
Console.WriteLine("Socket connected to {0}",
client.RemoteEndPoint.ToString());
// Signal that the connection has been made.
connectDone.Set();
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
}
}
private static void Receive(Socket client)
{
try
{
// Create the state object.
StateObject state = new StateObject();
state.workSocket = client;
// Begin receiving the data from the remote device.
Console.WriteLine("Reading response from server::");
client.BeginReceive( state.buffer, 0, StateObject.BufferSize, 0,
new AsyncCallback(ReceiveCallback), state);
}
catch (Exception e)
{
Console.WriteLine("In exception:"+e.StackTrace);
}
}
private static void ReceiveCallback( IAsyncResult ar )
{
try
{
// Retrieve the state object and the client socket
// from the asynchronous state object.
StateObject state = (StateObject) ar.AsyncState;
Socket client = state.workSocket;
// Read data from the remote device.
int bytesRead = client.EndReceive(ar);
if (bytesRead > 0)
{
// There might be more data, so store the data received so far.
state.sb.Append(Encoding.ASCII.GetString(state.buffer,0,bytesRead));
// Get the rest of the data.
client.BeginReceive(state.buffer,0,StateObject.BufferSize,0,
new AsyncCallback(ReceiveCallback), state);
}
else
{
// All the data has arrived; put it in response.
if (state.sb.Length > 1)
{
response = state.sb.ToString();
}
// Signal that all bytes have been received.
receiveDone.Set();
}
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
}
}
private static void Send(Socket client, String data,String tokenstring)
{
StringBuilder appendEof = new StringBuilder();
appendEof.Append(tokenstring);
appendEof.Append(data);
// Convert the string data to byte data using ASCII encoding.
byte[] byteData = Encoding.ASCII.GetBytes(appendEof.ToString());
// Begin sending the data to the remote device.
client.BeginSend(byteData, 0, byteData.Length, 0,
new AsyncCallback(SendCallback), client);
//client.BeginSend(clientContext.Token, 0, clientContext.Token.Length, 0,
// new AsyncCallback(SendCallback), client);
}
private static void SendCallback(IAsyncResult ar)
{
try
{
// Retrieve the socket from the state object.
Socket client = (Socket) ar.AsyncState;
// Complete sending the data to the remote device.
int bytesSent = client.EndSend(ar);
Console.WriteLine("Sent {0} bytes to server.", bytesSent);
// Signal that all bytes have been sent.
sendDone.Set();
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
}
}
public static int Main(String[] args)
{
StartClient();
return 0;
}
}
|
|
|
|
|
i have a datatable and wish to put into ListView
except looping each row of my datatable and insert row by row into ListView, is there any other smarter way?
i want to enable user to click on the column header to sort the records according to the header clicked, but cant figure out the clue, ListView has a property named ListView.Sorting, but it only can assign SortOrder.Acesending/Desending!! i cant understand wat is IComparer require by ListViewItemSorter!!
|
|
|
|
|
Hi..I having some problems regarding C# web application. I need to use C# web application program to design a web page. In VB we can use context menu to click on it and goes to the next page we have sleclected.But somehow, C# program doesn't have context menu and i know that i have to use javascript to design it out.. I was having problems of using javascript to design out the web page.
Cheese_kid =p
|
|
|
|
|
Cheese_kid wrote: n VB we can use context menu to click on it and goes to the next page we have sleclected.
Not in a web app, you don't.
Cheese_kid wrote: .But somehow, C# program doesn't have context menu
VB.NET and C# are both compiling to the CLR, and have pretty much the same capabilities in this area, they both use the same framework.
Cheese_kid wrote: was having problems of using javascript to design out the web page.
What do you mean by 'design out' ? What do you want to use jscript to do ? Javascript questions are probably best in the 'web development' forum.
Christian Graus - Microsoft MVP - C++
|
|
|
|
|
Dear Experts,
My application is a Windows Service that uses FileSystemWatcher to monitor the file status of a particular folder location. As you know, FileSystemWatcher supports the following file events:
- Created
- Deleted
- Changed
- Renamed
That means, when a file is created, deleted, changed or renamed the FileSystemWatcher can detect and response.
Now the problem is the following:
1) I shutted down the above Windows Service for maintenance;
2) At this moment, files are being placed into the folder;
3) I started up the Windows Service again but the files (that are just placed into the folder)cannot be detected. This is because no created, deleted, changed or renamed events are given to FileSystemWatcher
4) My application is required to detect the existence of any files in the folder and to process them. How can I resolve this situation?
Could you please?
Many thanks.
Tigger
|
|
|
|
|
When your app closes, save the details of the files in the folder. When it opens again, do a manual compare before starting the watcher. The watcher quite plainly can only watch while it is running.
Christian Graus - Microsoft MVP - C++
|
|
|
|
|
Hello Christian,
Thanks a lot for your advise. How can I obtain the file information inside a folder? What APIs should I use? Could you please tell me more about this?
Thanks again.
Tigger
|
|
|
|
|
System.IO.Directory.GetFiles
System.IO.File.Get....
You can enumerate the files, and get details like the last changed time from each.
Christian Graus - Microsoft MVP - C++
|
|
|
|
|
What is exactly happening when you go to run a program in Visual Studio.new C# console application. What's going on before your program shows up on the screen? What's happening in the computer itself when the program is being executed?
|
|
|
|
|
Read the EMCA and SDK tool developer docs, then you will know EXACTLY.
xacc-ide 0.0.99-preview7 now with C#, C, C++, IL, XML, Nemerle, IronPython, Perl, Caml, SML, Ruby, Flex, Yacc, Java, Javascript, Lua, Prolog and Boo highlighting support!
|
|
|
|
|
The executable is being created first, which means your code is compiled to MSIL. Then it's run, which means the framework is compiling that again, to something your PC can understand.
Christian Graus - Microsoft MVP - C++
|
|
|
|
|
I'm trying to call a com object method which I inherit in c#.net.
The com method signature is :
long GetBaseAssets(
[out] SAFEARRAY(BaseAssetInfo)* psaRecords,
[in, optional, defaultvalue(-1)] long BaseAssetCode);
and the clr create a reference for it as:
public virtual int GetBaseAssets ( out System.Array psaRecords , int BaseAssetCode )
The compiler says that argument 1 cannot convert from 'out taskbarlib.baseassetinfo[]' to 'out.system.array'.
The part in my c# class that calls the method looks like that:
BaseAssetInfo[] BaseAsset;
int intp;
rc = GetBaseAssets(out BaseAsset , intp);
Need your help,
Thanks.
|
|
|
|
|
try object[]
xacc-ide 0.0.99-preview7 now with C#, C, C++, IL, XML, Nemerle, IronPython, Perl, Caml, SML, Ruby, Flex, Yacc, Java, Javascript, Lua, Prolog and Boo highlighting support!
|
|
|
|
|
thanks for the prompt response.
I did, with not much success.
anyone has an idea ?
|
|
|
|
|
Seeing its an out parameter, try this:
Array input;
Foo(out input);
MyType[] rinput = input as MyType[];
xacc-ide 0.0.99-preview7 now with C#, C, C++, IL, XML, Nemerle, IronPython, Perl, Caml, SML, Ruby, Flex, Yacc, Java, Javascript, Lua, Prolog and Boo highlighting support!
|
|
|
|
|
I need help trying to open up a mysql database using Visual C#.
|
|
|
|
|
What have you already tried ? Google ? Searching this site ?
Christian Graus - Microsoft MVP - C++
|
|
|
|
|
There's a very nice MySql Connector for .NET on the MySql.org website.
|
|
|
|
|
|
Ado.Net2.0 can enum most of metadata from database
Please pardon my weak English!
|
|
|
|
|