|
Hi again,
1.
only yesterday[^] you weren't inserting any locks, and now you're floading the world with them?
2.
indeed, CLR objects float around unless pinned; and pinning reduces the efficiency of the memory manager, possably resulting in an early OutOfMemoryException.
3.
I would create a fixed number of locks (actually I would do no such thing, you won't sell me automated or hidden locks, as I told you earlier), and keep a dictionary mapping objects to locks; when a new object needs a lock, just pick an existing one at random, and store the mapping in the dictionary. You may want to use weak references so your dictionary does not keep everything alive forever.
Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles]
I only read code that is properly formatted, adding PRE tags is the easiest way to obtain that. All Toronto weekends should be extremely wet until we get it automated in regular forums, not just QA.
|
|
|
|
|
Hi,
1. I didn't mean I didn't use locks at all, just that it's not that straightforward. Perhaps I should've written "I'm not JUST inserting locks".
3. I'll consider that, thanks. (and I assure you the system is efficient! But have it your way)
|
|
|
|
|
Hi.
I'm using Visual Studio 2008.I'm writing apps under C#.
Some disassemblers (like Reflector) can see my source code.
I searching in internet.There are so many app - anti disassembly.And they not free.
How i can protect my C# app ?
Thanks.We are haven't bug,just temporarily undecided problems.
|
|
|
|
|
You need an obstifucator, there is one that comes free with Visual Studio called "Dotfuscticator". Different obstifucators have different levels of security, so the free ones might not be the best. You'll need to do your research to find out which provides the level of security you are happy with. Dalek Dave: There are many words that some find offensive, Homosexuality, Alcoholism, Religion, Visual Basic, Manchester United, Butter.
|
|
|
|
|
See here[^].Me, I'm dishonest. And a dishonest man you can always trust to be dishonest. Honestly. It's the honest ones you want to watch out for...
|
|
|
|
|
|
Thanks keefb and Abhinav.
I was try Dotfuscator.
It only renaming methods , fields name.But ,i think , after that can understand.
Any ideas?
Thanks.We are haven't bug,just temporarily undecided problems.
|
|
|
|
|
I haven't ever seen any really processional free obfuscator.Dotfuscator community edition cannot protect your code against advanced hackers, EazFuscator doesn't support reflection.Sorry if I dissappoint you but there's no any free obfuscators that can be used for commercial projects.
[EDIT]
Some of the soft. companies are using licence managers for their Win Forms/WPF components components based on unmanaged code, because it's mush more harder for disassembling compared with .NET or Java code, but even that
their products are cracked by some hackers.Life is a stage and we are all actors!
modified on Tuesday, February 16, 2010 9:25 AM
|
|
|
|
|
open source is good, just in my opinion.
why not share~ aha~
|
|
|
|
|
danberlove wrote: open source is good
Agreed, except some people need to earn a living which is virtually impossible off donations from a few thoughful users out of the n that will expect support.
Most people don't have the knowledge or desire to disassemble your application. If it's a good application that they have the need for, so long as the price/licence is fair they will purchase it. The few that may attempt to rip you off will normally only do so if you are overcharging or have an unfair licence.
There's always the odd ones but they will do it no matter what you do if there is the demand for your work.
[My opinion only!]
|
|
|
|
|
See NTcore's Phoenix protector, it's pretty good and free
However, before you do that, you should realize that it is fundamentally impossible to completely hide your code (ok you can, but then your CPU does not know what to execute either so your program wouldn't be useful anyway)
So no matter what you do, people will be able to "borrow" (and/or edit) your code. But with obfuscation, the script kiddies and other noobs may give up. That's all. If you're worried about industrial espionage, your only choice is to never release your program.
|
|
|
|
|
ok i really hounestly (on my own mind and heart) cant think of ANY code to start this,
right so a value in a textbox say equals "999" i want to then convert it to hex (i know how to do that with SB) then having it add 1 byte (00) after each byte so : "3900390039" how would i go about doing this ?
Thanks
|
|
|
|
|
Is this an attempt at UTF-16?
Why not iterate over the 999, converting one character at a time and adding the '00'?Regards,
Rob Philpott.
|
|
|
|
|
Try this:
string s1 = "999";
byte[] b1 = new byte[s1.Length * 2];
int index = 0;
foreach (char ch in s1)
{
b1[index++] = (byte)ch;
b1[index++] = 0;
} txtspeak is the realm of 9 year old children, not developers. Christian Graus
|
|
|
|
|
|
OK..,
I giving u a idea about this..,
read text box value to a byte array...,
byte[] mybyte = Encoding.UTF8.GetBytes(textbox1.Text);
declaring 0x00 byte
byte x = 0x00;
declare a new byte array and add, bytes as per your requirement.
TnanksRajesh B --> A Poor Workman Blames His Tools <--
|
|
|
|
|
Huh?
What's the idea here? Adding '\0' chars instead of '0' chars?
Why a variable just to hold a constant 0?
|
|
|
|
|
Hi, how to retrieve the custom header value of bounced mail using pop3 server (.net 2003)
mail sent with custom message like below
MailMessage Ml = new MailMessage();
Ml.Headers.Add("abcde","xyz");
how to retrieve the added value (how to read all the header value of bounced mail?)modified on Wednesday, February 17, 2010 1:08 AM
|
|
|
|
|
Hey my friends I develop C# application all the time .... But when I want to install them on my customer PC's .. I always have to insert .Net Cd and Install it ... But is there any way so that my Setup will contain .Net Framework together and install them together with my application? ... Pleas help me ... am tired of it.
Thank you
|
|
|
|
|
You have three options:
0) You can configure a setup project in your solution that will download the required version of the framework from the site your users downloaded your program from,
1) You can configure a setup project in your solution that will download the required version of the framework from the Microsoft site.
2) You can download the redistributables for the framework and install that setup from your setup..45 ACP - because shooting twice is just silly ----- "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997 ----- "The staggering layers of obscenity in your statement make it a work of art on so many levels." - J. Jystad, 2001
|
|
|
|
|
John Simmons / outlaw programmer wrote: 2) You can download the redistributables for the framework and install that setup from your setup.
How do you install that setup from your setup.
Again, for example, framework 3.5 is an online resource. How do you deal with that?Wamuti: Any man can be an island, but islands to need water around them!
Edmund Burke: No one could make a greater mistake than he who did nothing because he could do only a little.
|
|
|
|
|
Hi,
I recommend using the WiX toolset. This is a easy to use abstraction of the windows installer. With this toolset (it is free) you can use a bootstrapper to put the redistributables of the framework to your setup.
Have a look here:
http://wix.sourceforge.net/manual-wix3/install_dotnet.htm[^]
Used this for all my installation projects and it works.
Regards
Sebastian
|
|
|
|
|
Here's a link to the full DotNet 3.5 package:
http://download.microsoft.com/download/6/0/f/60fc5854-3cb8-4892-b6db-bd4f42510f28/dotnetfx35.exe[^]
Just execute it from within your setup.
If you familiarize yourself with using google, you can find full installers for all of the other DotNet versions as well..45 ACP - because shooting twice is just silly ----- "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997 ----- "The staggering layers of obscenity in your statement make it a work of art on so many levels." - J. Jystad, 2001
|
|
|
|
|
I just spent a long time getting to the bottom of this one..... Nothing ever seems as simple as it should be.
Here is how I managed to do it,
When you add in the installer project into your solution, in the Solution explorer right click and view properites of the installer project. Take a look down the right hand side of the properties screen pop and you will see a 'Prerequisites' button.
On the pre-req screen you can add in or remove dependencies (I am building to .net 2.0 for some older clients), once you have selected the pre-req's you want check the radio button 'Download pre-req's from the same location as my application' then hit OK, then OK again to close the property page. At this point I save all files for the solution.
If you are installing an older version of .net with your app you also need to take a look at the dependencies under the installation project.
Expand the 'Detected Dependencies' container and double click 'Microsoft .net framework'. In the properties window beneath the solution explorer look at the version informaiton and select the appropriate version for your install (If you dont do this, the setup.exe bootstrap will install the older version of .net as a pre-req but the installer for your application will then error because it is expecting a newer version than has just been installed - the default on my system and I guess other VS 2008 systems is 3.5.21022).
Once you build the solution be sure to install from setup.exe and not the MSI.
I hope this helps, I found it very frustrating. (p.s. sorry if there are any spelling c**k ups... I have yet to install a HTML spellcheck utility on my work machine).
|
|
|
|
|
Good morning all,
I am currently trying to accomplish the following task:
I have to read some hundred thousand records from the database and display them in a datagrid.
The problem is that the data gets displayed after the read is completely done.
What I want to do is to show the data while it is still pulled from the database.
I tried DataSets, LinQ and some other things, but what these tries had in common was that the data was displayed after the read was completed (which took some time)
The only thing that brought me close to what I want to do was the following:
I used a DataReader in a BackgroundWorker that stuffed items into a BindingList<item> that serves the grid as datasource using the ReportProgress-Event, all within the reader.Read() loop.
Looks good to me and suits the needs so far.
Now I am interested if this solution is something someone should do, or if there is some approach that fits better, archiving the same goal. Maybe I missed something
Any ideas, hints, tips are highly appreciated
Thanks in advance and have a good day,
best regards
Hoernchenmeister
|
|
|
|
|
Think about this from the POV of the user:
You are sat at this computer, and there in front of you is a form, with 100,000 records from a database displayed in a single list. Your screen holds maybe 30 of these, so to find the record you want involves scrolling a very thin scroll bar to a very accurate position on the screen. And hoping, lots.
Fun to use? No.
Page it. Read only a page or so of records from the database at a time. It will load faster, be easier to see and work better for the user. Then provide searches and other ways to make the poor users life easier. SQL provides the LIMIT part of the SELECT statement, which will help - LINQ will also do this.If Barbie is so popular, why do you have to buy her friends?
Eagles may soar, but weasels don't get sucked into jet engines.
If at first you don't succeed, destroy all evidence that you tried.
|
|
|
|