|
|
|
The error message suggest that you are trying to process Unicode text with a program that only handles ASCII. It would help if you remove all the code not relevant to the problem, and also indicate exactly where the failure occurs. Also, Python questions are more likely to get an answer when posted at Quick Answers.
|
|
|
|
|
I have the following onTime event in windows server.
I would like to try 3 times to connect and submit files before I throw an exception.
How would I do this?
Private Sub OnTimedEvent(source As Object, e As ElapsedEventArgs)
Try
aTimer.Stop()
Dim fileName As String = String.Empty
While queueList.Count > 0
If _SFTP.Connected = False OrElse _SFTP.SFTPState = Dart.Ssh.ConnectionState.Closed Then
_SFTP.Connect()
End If
fileName = queueList.Dequeue.ToString
If Not fileName Is Nothing AndAlso fileName <> String.Empty Then
ProcessFile(fileName)
End If
End While
If _SFTP.Connected = True Then
_SFTP.Disconnect()
End If
aTimer.Start()
Catch ex As Exception
modCommon.SendEmailExceptionToDev("OnTimed: OnTimedEvent Exception", ex)
Err.Clear()
End Try
|
|
|
|
|
Remove the exception handler, wrap it in a new method, add exception handling there. Call your own function again from the exception-handler if it fails, and pass a counter. If the counter is three, don't call your own function, but accept defeat.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Here is what I did:
1.Add new sub: RetryOnTimeout
2. Add retry in Catch.
Is this what you suggested ?
Private Sub OnTimedEvent(source As Object, e As ElapsedEventArgs)
Try
RetryOnTimeout(source, e)
Catch ex As Exception
While _currentRetry < 3
RetryOnTimeout(source, e)
_currentRetry = _currentRetry + 1
End While
modCommon.SendEmailExceptionToDev("OnTimedEvent Exception", ex)
Err.Clear()
End Try
End Sub
Private Sub RetryOnTimeout(source As Object, e As ElapsedEventArgs)
Try
aTimer.Stop()
Dim fileName As String = String.Empty
While queueList.Count > 0
If _SFTP.Connected = False OrElse _SFTP.SFTPState = Dart.Ssh.ConnectionState.Closed Then
_SFTP.Connect()
End If
fileName = queueList.Dequeue.ToString
If Not fileName Is Nothing AndAlso fileName <> String.Empty Then
ProcessFile(fileName)
End If
End While
If _SFTP.Connected = True Then
_SFTP.Disconnect()
End If
aTimer.Start()
Catch ex As Exception
modCommon.SendEmailExceptionToDev("OnTimedEvent Exception", ex)
Err.Clear()
End Try
End Sub
modified 24-Oct-16 12:45pm.
|
|
|
|
|
I had something in mind with recursion, but this should work too. Would be easy to check by putting that code in a console, and replacing the mail-sending code with one that throws an exception. If you can't see what happens, add some logging.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
here my updated code. I have replace email with : Throw ex.
Is that what you mean?
I am not sure I am clear on what you have in mind. Could you share maybe the code?
:
Private Sub OnTimedEvent(source As Object, e As ElapsedEventArgs)
Try
RetryOnTimeout(source, e)
Catch ex As Exception
While _currentRetry < 3
RetryOnTimeout(source, e)
_currentRetry = _currentRetry + 1
End While
modCommon.SendEmailExceptionToDev("ASH File System Watcher Outgoing: OnTimedEvent Exception", ex)
Err.Clear()
End Try
End Sub
Private Sub RetryOnTimeout(source As Object, e As ElapsedEventArgs)
Try
aTimer.Stop()
Dim fileName As String = String.Empty
While queueList.Count > 0
If _SFTP.Connected = False OrElse _SFTP.SFTPState = Dart.Ssh.ConnectionState.Closed Then
_SFTP.Connect()
End If
fileName = queueList.Dequeue.ToString
If Not fileName Is Nothing AndAlso fileName <> String.Empty Then
ProcessFile(fileName)
End If
End While
If _SFTP.Connected = True Then
_SFTP.Disconnect()
End If
aTimer.Start()
Catch ex As Exception
Throw ex
End Try
End Sub
|
|
|
|
|
byka wrote: I am not sure I am clear on what you have in mind My bad; but you're complicating the problem by thinking about emails. In these cases its easier to start a new project and make a sketch of what you'd need. Example below, for a console-application.
Module Module1
Public Function MyEmailMethod() As Int32
Throw New NotImplementedException("test")
End Function
Public Function TryMyEmailMethod(maxTries As Integer, Optional currentTry As Integer = 1) As Int32
If currentTry <= maxTries Then
Try
Console.WriteLine(String.Format("Attempt {0}", currentTry))
MyEmailMethod()
Catch ex As Exception
Console.WriteLine("Caught: " + ex.GetType().Name)
TryMyEmailMethod(maxTries, currentTry + 1)
End Try
Else
Console.WriteLine("I've tried enough, that damn server is ignoring me!")
End If
End Function
Sub Main()
TryMyEmailMethod(3)
Console.ReadKey()
End Sub
End Module That would result in below output if you run it, showing the principle works as intended;
Attempt 1
Caught: NotImplementedException
Attempt 2
Caught: NotImplementedException
Attempt 3
Caught: NotImplementedException
I've tried enough, that damn server is ignoring me! Your "NotImplementedException" would be the exception that the mail-routine is throwing, and you might want to log the lines where the above code is writing to the console; after all, if a mail-server stops responding, you'd like to verify that everything else worked as expected.
Making a new project allows to focus on the problem, without anything else bothering. It also makes reuse of the new pattern somewhat easier, IMO. Also take not that above code could encounter three different exceptions or reasons why it cannot send mail, without it giving much info yet on why.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
wow make you crazy it was very disrespectful
|
|
|
|
|
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Hello, i have finished developing a c# code for a software, and it is time to make a installation setup for it ( using "Setup and Deployment" project of visual studio ) and then give this installation setup to the users to install and use the software. this software uses files of DLLs, database files (mdf,ldf) and some other (.exe, .exe.config, .exe.manifest and .pdb) ( Please See the picture of files for setup and deployment ) ... in the setup project of this software i need to put the required files to be installed on users pc... so i put all the files in release folder including database files mdf and ldf)... the problem is that anyone who has installed this application, can see my MDF and LDF database files and can easily attach it to a sql server and find out how my tables were designed and what are my records.
Please help me with these questions that i need the most :
1)how could i prevent users from seeing these source files?
2)is this way of publishing (put every thing in release folder for installation of end user) correct?
3)should i directly put MDF and LDF files or have to do a some work of securing them like compiling into irreversible format that only application can use it not anyone else?
4)should i do something in the process of creation of database in visual studio to prevent any one accessing it except software itself?
5)am i missing a concept in the way of publishing an application with local database?
P.S:
application is developed by C# windows form using visual studio .net 2013 (.NET 4.5)
Setup project is used by "Setup and Deployment" of visual studio
Application is using local database by visual studio (Visual C# items - Serviced base database)
This is my first time of publishing an actual software sorry for any lack of information
|
|
|
|
|
salar1369 wrote: 1)how could i prevent users from seeing these source files? You can't; you can spend money on making it harder to read, but it will still be a list of computer-instructions that can be read by both CPU and user.
salar1369 wrote: 2)is this way of publishing (put every thing in release folder for installation of end user) correct? No; applications should be installed in the program files folder (that's where applications go) and data in the users documents folder.
salar1369 wrote: 3)should i directly put MDF and LDF files or have to do a some work of securing them like compiling into irreversible format that only application can use it not anyone else? If it is irreversable, how would you read it?
salar1369 wrote: 5)am i missing a concept in the way of publishing an application with local database? Yes; ownership.
If the database is local on my system, you cannot lock me out - I'm the owner of my machine and its data. If you want to make sure that people don't get into your database, then the only option is to "not" use a local database, but host one.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
You could encrypt the data in the database. Or switch to a host database Sql Azure.
Schneider
|
|
|
|
|
Tool: Visual Studio 2012. InstallShield 2015 Limited Edition.
Application: Windows Form Application using C#.
I have Created one windows form Application. And also created it's setup using Install Shield in Visual Studio 2012.
Now I have one Code Signing Certificate and I want to add it in my Project Setup. How can I do It?
Or I have to go with ClickOnce instead of InstallShield?
Any Suggestion?
|
|
|
|
|
|
Dear All,
I have a web portal running on my intranet. Now i want to design a windows client in which when user logs in for a particular machine for a day, then if he hits the web portal link then it must not ask to log in with its username and password again. Please suggest and give your views.
ashish sharma
ashish sharma
|
|
|
|
|
|
Yes I do. I thought that i need a windows solution(or any idea) so its better to put this question in windows forum as well.
ashish sharma
|
|
|
|
|
|
It is intranet. Can't you just use windows authentication?
"You'd have to be a floating database guru clad in a white toga and ghandi level of sereneness to fix this goddamn clusterfuck.", BruceN[ ^]
|
|
|
|
|
Yes, I can. But my portal uses the employeeID as login id with its custom password. but for this i need to make a way out to map employeeID with domain user. But i never used windows authentication. Is there any other way of get around ?
ashish sharma
|
|
|
|
|
What I am suggesting is that you totally get rid of form based authentication. You should just have windows authentication. This will eliminate all the need to maintain uses in database.
If you are managing roles and rights in database you can either move that to active directory where each role will be transformed to an AD group and based on group you set rights in code. If this is not feasible, keep authentication windows based but have authorization done in code through database tables.
Here[^] is a blog that shows how to implement windows authentication with database based authorization.
"You'd have to be a floating database guru clad in a white toga and ghandi level of sereneness to fix this goddamn clusterfuck.", BruceN[ ^]
|
|
|
|
|
A website can always store a cookie on users device and then exchange it to see if he logged in today. If his last visit was from within 24 hours, then show him the content. Otherwise, redirect him to the authentication page.
|
|
|
|
|
Hello all,
I'm trying to find a way to record an HD IP camera feed in a 3rd party Windows 7 program which uses DirectShow.
I'm using a Raspberry Pi to transmit the video feed from an IP camera to a Win 7 PC.
Raspivid is installed on the Pi with the following parameters: -t 0 -w 1280 -h 720 -hf -ih -fps 20 -o - | nc -k -l 2222
I can view the video feed through Mplayer with no lag by running the command: C:\mplayer\mplayer -fps 200 -demuxer h264es ffmpeg://tcp://192.168.1.6:2222
My problem is that I cannot pipe the feed into the 3rd party program. I believe I need to have a DirectShow source filter created to do this.
Would anyone be able to create a filter to do this or could you direct me to someone who can?
I would be more than happy to compensate someone for the development time.
Thanks much,
Chuck
|
|
|
|