|
Thanks for your answer!
So that means there's no way to get applications running by adding some extra code?
Only localy with administrator account and change some settings?
Regards,
Matjaž
|
|
|
|
|
Matjaž Grahek wrote: So that means there's no way to get applications running by adding some extra code?
I am not sure, but I think there is no other way.
|
|
|
|
|
It wouldn't be providing much security if you could simply bypass it..
I are troll
|
|
|
|
|
|
I have an object, called Tag, which inherits List<Tag>. This works great code wise, I can add objects of type tag to my tag without issue. But when I try to serialize the object to XML it crashes with a "An unhandled exception of type 'System.StackOverflowException' occurred in System.Xml.dll" error when I try to initialize a new instances the XmlSerializer class, and pass in the type of Tag.
If I remove the Inherts List<Tag> and just create a new property of type List<Tag> instead, then this serializes great, but does not give me quite the appearance I want. Is there someway to make this work without custom serialization, or maybe only minor custom serialization?
Thanks,
Peter
|
|
|
|
|
Im having the same issue. Have you found the solution?
|
|
|
|
|
Nope, never did find a work around, ended up doing it a different way, can't remember exactly how right now.
|
|
|
|
|
Hello!
I´ve created an windows service with a timer-object. My application runs a method with a given interval, which builds up strings in memory and when finished with one string sends data to our database. Problem is, my application seems to be running on several threads, which messes up the string-values I hold in memory.
I run this code in the start of the method I´ve set my timerobject to perform:
Log.Write("current threadid : " + System.Threading.Thread.CurrentThread.ManagedThreadId.ToString());
which gives me
current threadid : 4<br />
current threadid : 7<br />
current threadid : 8<br />
current threadid : 4<br />
current threadid : 7<br />
current threadid : 8<br />
current threadid : 4<br />
current threadid : 8<br />
current threadid : 7<br />
current threadid : 8
etc.
Is this how windows services work, and can I manage this behaviour somehow?
|
|
|
|
|
livez wrote: Problem is, my application seems to be running on several threads, which messes up the string-values I hold in memory.
Problem will be with timer. You should not use a timer here. Try to run your method in a thread. You can also read Luc's article Timer surprises, and how to avoid them[^].
|
|
|
|
|
I presume you are using System.Threading.Timer ?
When this fires, it uses a thread from the thread pool to run your TimerCallback method. You can verify this using:
System.Threading.Thread.CurrentThread.IsThreadPoolThread
If your method takes longer to execute than the timer period, then when the timer fires again, it will run your method again ( concurrently ) on a different thread pool thread.
You have to take this into account when writing your TimerCallback method.
Nick
----------------------------------
Be excellent to each other
|
|
|
|
|
Thanks alot guys, u were spot on!
|
|
|
|
|
Hi friends,
I have a file called 'simple.txt' in the C:// drive, but I dont know the exact location in the drive, since there are many directories present. Now, I want to manipulate with the file, i.e., write, read, rename or delete it from the drive. Suppose, I want to delete it with this code: System.IO.File.Delete(@"C:/simple.txt"); or run/open the file with this peice of code: System.Diagnostics.Process.Start(@"C:/simple.txt"); . But this works, only if the file's location is C://simple.txt, not in the case of C://unknowndirectory/simple.txt. Please help me. And also tell me, if its possible to manipulate with a file without assigning its extension.
Your help will be greatly appreciated,
Rajdeep.NET
NOTE: I've posted the same question earlier also, but since I did not find any appropriate result, I had to post it again with better explanation.
|
|
|
|
|
Rajdeep.NET wrote: Suppose, I want to delete it with this code: System.IO.File.Delete(@"C:/simple.txt");
Won't work, you'll get a FileNotFoundException since the path is incorrect.
Create a method that reads all the filenames in a folder. Next, loop all those filenames to check whether "simple.txt" is among them. If the file is a folder, then call your function recursively to check those too.
It's a slow way of finding a file, but it works
Rajdeep.NET wrote: And also tell me, if its possible to manipulate with a file without assigning its extension.
Can't be done, you'll need the extension. Otherwise you might accidentally delete "simple.jpg" or "simple.mp3" while you wanted to kill "simple.txt".
Good luck
I are troll
|
|
|
|
|
A huge thaks to you Eddy!!!
But, since I am not that expert..... can you provide me a related link which defines this process????
Once again,
Thank you veru much,
Rajdeep.NET
|
|
|
|
|
Rajdeep.NET wrote: But, since I am not that expert
I'm no expert either :p
Here's a small example of recursion;
void SearchRecursive(string Path)
{
foreach(string myFile in Path)
{
if (myFileName == Folder)
{
SearchRecursive(Path + myFileName)
}
}
}
I are troll
|
|
|
|
|
Eddy Vluggen wrote: foreach(string myFile in Path)
But the problem is that, in this piece of code, I have to mention the file path name, although I am unknown about its location in the drive. Please provide me a better link.
|
|
|
|
|
|
Thanks a lot for your help Eddy. Actually, I was intending to create a particular malware removal toolkit. I hope google search helps..... otherwise, God will......
Have a nice day,
Rajdeep.NET
|
|
|
|
|
What if there's more than one file called simple.txt?
You can start by looking at the System.IO namespace.
Cheers,
Vikram. Current activities:
Films: The classic Pink Panther series
TV series: Friends, season 3
Books: Liar's Poker, by Michael Lewis. Carpe Diem.
|
|
|
|
|
Can you explain me a little more briefly....
|
|
|
|
|
Rajdeep.NET wrote: a little more briefly
System.IO.
Cheers,
Vikram. Current activities:
Films: The classic Pink Panther series
TV series: Friends, season 3
Books: Liar's Poker, by Michael Lewis. Carpe Diem.
|
|
|
|
|
|
Hello everybody,
We are installed one windows service in our client machine very long back.Just before to 20 days it was working fine.Now everyday we need to check is it working fine are not. In tracelog i observerdthe error, "Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host" continuosly. I saw some informational messages in my client system:
"The WinHTTP Web Proxy Auto-Discovery Service service entered the stopped
state.
The WinHTTP Web Proxy Auto-Discovery Service service was successfully sent a
start control.
The WinHTTP Web Proxy Auto-Discovery Service suspended operation"
after some time correct log entries are coming to my trace and again unable to read..... type error coming. Please help me regarding this.
Thanks in advance to all the people.
Please forgive for gramitical mistakes.
Regards,
Avinash.
|
|
|
|
|
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
// Required namespaces
using System.Net.Sockets;
using System.IO;
using System.Net;
using System.Runtime.Serialization.Formatters.Binary;
namespace PRG31AI_Assignment_3_Client
{
public partial class frmClient : Form
{
#region Private Members
private TcpClient _tcpClient; // TcpClient to facilitate conenction with remote host
private BackgroundWorker _listenWorker; // BackgroundWorker for receiving incomming data
private BinaryFormatter _formatter; // BinaryFormatter for NetworkStream serialization / deserialization
private ObjectServerCommandResponse.ImageRequest _currentImageResponse; //Image variable for storing the image that is currently displayed
//private Socket ReceiveSocket;
//Created object for getting the images
// Delegate and event for custom event
private delegate void ServerResponseReceivedHandler(ObjectServerCommandResponse.ICommunication serverResponse);
private event ServerResponseReceivedHandler _ServerResponseReceived;
// Delegates to remedy cross thread access
private delegate void CrossThreadListBoxDelegate(List<string> images);
private delegate void CrossThreadControlDelagate(ClientState state);
private delegate void CrossThreadDisplayImageDelegate(ObjectServerCommandResponse.ImageRequest imageResponse);
private delegate void CrossThreadSaveImageDelegate();
// Path of log file to be used in logging certain actions
private static readonly string _eventLogPath = Application.StartupPath + @"\log.txt";
// Enum used to control enable state of controls on the form
private enum ClientState
{
Connected,
Disconnected,
AwaitingResponse,
ResponseReceived,
}
#endregion
#region Constructors
// Default constructor
public frmClient()
{
// Initialise instance variables and hookup events to handlers
_formatter = new BinaryFormatter();
_listenWorker = new BackgroundWorker();
_listenWorker.WorkerSupportsCancellation = true;
_listenWorker.DoWork += new DoWorkEventHandler(listenWorker_DoWork);
_ServerResponseReceived += new ServerResponseReceivedHandler(ServerResponseReceived);
InitializeComponent();
LogEvent("Client opened.");
}
#endregion
#region Events
#region Background Worker Events
// Do work event handler of the BackgroundWorker, fires when the RunWorkerAsync method is called
private void listenWorker_DoWork(object sender, DoWorkEventArgs e)
{
// INSERT REQUIRED CODE HERE
}
#endregion
#region Custom Events
// Custom event handler which receives the response from server and processes it depending on type of object
private void ServerResponseReceived(ObjectServerCommandResponse.ICommunication serverResponse)
{
// INSERT REQUIRED CODE HERE
}
#endregion
#region Button Clicks
private void btnConnect_Click(object sender, EventArgs e)
{
// Calls method to connect to remote server
Connect(txtAddress.Text ,Convert.ToInt32(txtPort.Text ));
}
private void btnDisconnect_Click(object sender, EventArgs e)
{
// Calls method to disconnect from server
Disconnect();
}
private void btnGetList_Click(object sender, EventArgs e)
// INSERT REQUIRED CODE HERE
if (_tcpClient.Connected)
{
_formatter = new BinaryFormatter();
ObjectServerCommandResponse.RequestImageList SendRequest = new ObjectServerCommandResponse.RequestImageList();
NetworkStream streamToSend=_tcpClient.GetStream ();
_formatter.Serialize(streamToSend, SendRequest);
ObjectServerCommandResponse.RequestImageList _images = (ObjectServerCommandResponse.RequestImageList)(_formatter.Deserialize(streamToSend));
lstBoxImages.Text += _images;
}
private void btnGetImage_Click(object sender, EventArgs e)
{
// INSERT REQUIRED CODE HERE
}
private void btnSave_Click(object sender, EventArgs e)
{
// Calls the method to save the image to disk
SaveImage();
}
#endregion
#region Misc UI Events
private void lstBoxImages_SelectedIndexChanged(object sender, EventArgs e)
{
// Enables button if there is an item selected in the ListBox
btnGetImage.Enabled = (lstBoxImages.SelectedIndex > -1);
}
private void frmClient_FormClosing(object sender, FormClosingEventArgs e)
{
// INSERT REQUIRED CODE HERE
}
private void frmClient_FormClosed(object sender, FormClosedEventArgs e)
{
// INSERT REQUIRED CODE HERE
}
#endregion
#endregion
#region Methods
// Controls state of user interface controls depending on state of client
private void SetClientState(ClientState state)
{
// Ensures that the thread that created the controls is used to modify their state
if (this.InvokeRequired)
{
CrossThreadControlDelagate d = new CrossThreadControlDelagate(SetClientState);
this.Invoke(d, new object[] { state });
}
else
switch (state)
{
case ClientState.Connected:
btnConnect.Enabled = false;
btnDisconnect.Enabled = true;
grpBoxServerImages.Enabled = true;
txtAddress.Enabled = false;
txtPort.Enabled = false;
break;
case ClientState.Disconnected:
btnConnect.Enabled = true;
btnDisconnect.Enabled = false;
grpBoxServerImages.Enabled = false;
txtAddress.Enabled = true;
txtPort.Enabled = true;
lstBoxImages.Items.Clear();
btnGetImage.Enabled = false;
break;
case ClientState.AwaitingResponse:
grpBoxServerImages.Enabled = false;
grpBoxServerConnection.Enabled = false;
break;
case ClientState.ResponseReceived:
grpBoxServerImages.Enabled = true;
grpBoxServerConnection.Enabled = true;
break;
}
}
// Populates ListBox with image names from a generic list
private void PopulateImageList(List<string> images)
{
// Ensures that the thread that created the controls is used to modify their state
if (lstBoxImages.InvokeRequired)
{
CrossThreadListBoxDelegate d = new CrossThreadListBoxDelegate(PopulateImageList);
lstBoxImages.Invoke(d, new object[] { images });
}
else
{
// Clears ListBox of existing items
lstBoxImages.Items.Clear();
// Populates ListBox with new items from collection
lstBoxImages.Items.AddRange(images.ToArray());
}
}
// Connects to remote host
private void Connect(string ServerIP,int Portnum)
{
// INSERT REQUIRED CODE HERE
try
{
_tcpClient = new TcpClient();
_tcpClient.Connect(ServerIP, Portnum);
btnDisconnect.Enabled = true;
btnGetList.Enabled = true;
btnConnect.Enabled = false;
grpBoxServerImages.Enabled = true;
txtAddress.Enabled = false;
txtPort.Enabled = false;
}
catch (Exception errorMessage)
{
MessageBox.Show(errorMessage.ToString(), "Connection Error to Host");
System.Environment.Exit(System.Environment.ExitCode);
}
}
// Disconnects from remote host
private void Disconnect() // 10
{
// INSERT REQUIRED CODE HERE
btnDisconnect.Enabled = false;
btnConnect.Enabled =true ;
grpBoxServerImages.Enabled = false;
txtAddress.Enabled = true;
txtPort.Enabled = true;
lstBoxImages.Items.Clear();
btnGetImage.Enabled = false;
_tcpClient.Client.Close();
_tcpClient.Close();
Application.DoEvents();
}
// Displays image in provided PictureBox
private void DisplayImage(ObjectServerCommandResponse.ImageRequest imageResponse)
{
// Ensures that the thread that created the controls is used to modify their state
if (this.InvokeRequired)
{
CrossThreadDisplayImageDelegate imageDisplayDelegate = new CrossThreadDisplayImageDelegate(DisplayImage);
this.Invoke(imageDisplayDelegate, new object[] { imageResponse });
}
else
{
// Set the current image variable
_currentImageResponse = imageResponse;
// Set the GroupBox title to reflect the image that is about to be shown
grpBoxImageViewer.Text = "Image Viewer - \"" + _currentImageResponse.ImageName + "\"";
// Display the image via the PictureBox
picBoxImage.Image = _currentImageResponse.Image;
// Enables the save button now that an image is available to be saved
if (_currentImageResponse != null)
btnSave.Enabled = true;
}
}
// Saves image to disk
private void SaveImage()
{
// Ensures that the thread that created the controls is used to modify their state
if (this.InvokeRequired)
{
CrossThreadSaveImageDelegate imageSaveDelegate = new CrossThreadSaveImageDelegate(SaveImage);
this.Invoke(imageSaveDelegate);
}
else
{
// INSERT REQUIRED CODE HERE
}
}
// Logs specified actions to a textfile
private static void LogEvent(string eventDescription)
{
// Create an entry that contains the time of the event and a description of what occured
string logEntry = ((string)(DateTime.Now.ToLongTimeString() + ">")).PadRight(16) + eventDescription;
// INSERT REQUIRED CODE HERE
}
#endregion
private void frmClient_Load(object sender, EventArgs e)
{
}
}
Please can someone help me with that part of code, it is a c# client which sends object to the server with photos to get them fro the server
|
|
|
|
|
teddy1 wrote: // INSERT REQUIRED CODE HERE
So, basically, you want someone here to write the bulk of your application for you?? That's not going to happen. YOU have to write the code. We're just here to help with any specific problems you may encounter. Seeing as though you have no code to connect to a database, save information to it, or retrieve information from it, you really need to start by learning how to do database operations.
|
|
|
|
|