I have a Windows forms app which uses WCF services. Our application sends messages using one of our WCF services to specific users running our client, so our callback “http:” string is dynamically constructed each time a message is sent to a user. It includes the server IP address and port (18.104.22.168:701) onto which the current user is logged, the user’s id (56281), and the client GUID (7392d27a-e4a0-42e2-89a3-adc332e28934). So, a typical callback “http:” string looks like this:
We have an http namespace (http://+:701/) on our client and the group “Everyone” is tied to this namespace with all of the access permissions checked (GenericAll, GenericExecute, GenericRead, and GenericWrite). We use “http namespace” to create our namespaces.
Our application has been in production (on Windows Server 2003) for a few years and everything is working fine.
We have recently converted our application to run in the Windows 2008 server environment. The “Target Framework” in each of our projects is set to the “.NET Framework 4.0”. Our application works fine on my Windows 7 developer workstation. That is, I am able to receive messages from our WCF service, but when I place our application onto our Windows 2008 server and I attempt to run the application, I receive the following error message:
“There was no endpoint listening at http:// 22.214.171.124:701/CmesCns/CALLBACK/56281/7392d27a-e4a0-42e2-89a3-adc332e28934 that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details.”
The http namespace (http://+:701/) exists on my developer workstation and on my Windows 2008 server. The group “Everyone” is tied the namespace on my Windows 7 box and on my Windows 2008 server, and all of the access permissions are checked (GenericAll, GenericExecute, GenericRead, and GenericWrite).
Our team has been trying to resolve this error but we are unable to do so. Would anybody have any ideas on why this would work on our Windows 7 workstations, but not on our Windows 2008 servers?
Following code snippet may look weird, but it is a very simple method to reproduce the problem of a complicated interaction with a different application.
The example application has two forms, both forms register FormClosing and FormClosed events, just doing a Debug.WriteLine there.
The Main function does:
I have been programming for something like 3 years in VBA - Excel and trying to move to VB.Net, The reason I want to move to .Net is basically because of security issues (I really enjoy programming to help excel users) and because I believe for sure that using .Net framework is a more robust platform and I will be able to keep working with excel users and also start programming new things.
I need some clarification about .Net Framework security. I have been searching the web the last week reading and understanding how I can protect connection strings and realize (I think) that the best way is by encrypting the app.config connectionstring section.
But now I am really frustrated because I made a very simple test and then I myself tried to hack my application and it was very, very simple to reveal the connection strings.
The reason I am asking is because may be I am misunderstanding something and I want to clarify if it is really that simple to hack the connection strings? And obviously get advice if I am doing something wrong…?
If I am right…, let me ask you if there is a way to really protect a connection stringfrom being read in a windows application that will be in the user computer?
I also think and to encrypt a simple .xml (Not an app.config) with the connection strings but this will be useless because in order my app can decrypt the .xml, the app needs to have the decryption sub inside the .exe or a .dll and with any decomplier a hacker can read the code and copy the decrypt sub to decrypt the .xml.
I have also read there are a lot of code ofuscators but they are expensive and at this point I only want to know if it possible to really protect a connection string.
Please HELP… I am getting mad trying to figure it out!!!
Let me explain the test I did:
1.- Create a windows test app with 2 buttons and 1 app.config
<?xml version='1.0' encoding='utf-8'?>
<add name ="sourcepath" connectionString ="valid url path"/>
<add name ="finalpath" connectionString ="valid desktop path"/>
Thanks for answer Richard. I have already read that article and as far as I understand it takes me again to encrypt the way I already did but I know encryption is not an easy issue and I am reviewing again the articule and see if I miss something. I will let you know.
The constructor assumes that the user wants to assign the 2D array of double(,) they have already created to the new matrix instance and hence doesn't use Array.Clone (and since the array is a class and is therefore a reference type, ByVal essentially has no meaning in this context). Did I get that bit right?
Would create a copy of the values (shallow, again for value and reference-types)
Whereas with an array of reference types there would only be a subtle difference?
In the case of value-types, the result would be identical; you'd end up with an array of values. For reference-types, it'd be similar; version one assigns a pointer to the array, version two copies the structure of the array (and thus, all pointers to references it contains) and you end up with an exact copy of the list, still pointing to the original objects.
A shallow copy of an Array copies only the elements of the Array, whether they are reference types or value types, but it does not copy the objects that the references refer to. The references in the new Array point to the same objects that the references in the original Array point to.
Bastard Programmer from Hell
if you can't read my code, try converting it here[^]
Apologies for the delay, been busy leaving work ready to move to a new country !!
I think we are absolutely agreeing but saying it in different ways, so for clarity I wanted to check this comment:
Eddy Vluggen wrote:
In the case of value-types, the result would be identical; you'd end up with an array of values.
I don't understand the identical bit. In the first case you have a pointer to an existing instance of an array in the second case you create a new instance of an array with the same structure as the one you cloned? Perhaps pedantry but in this case, at least for understanding, forgiveable pedantry I feel...
That's what leads to clarity over the value / reference difference.
In the value case the new array structure contains new, independent value 'objects'.
Whereas in the reference case the new array structure contains new, independent pointers to the same object instances that the pointers in the original array pointed to.
As to whether that difference is *important*... well, that completely depends on what you do with them.
Say you have a User object and this involves the concept of a list of Favourites (products, girls, doesn't matter). It'd probably be a List<Favourite> rather than a Favourite, but no matter. The point is if for some reason you wanted to let one user copy another user's favourites, what should you do? Just point to the same list? Or make an actual copy of the list? Surely you should copy it, that way if user A subsequently edits his copy, the other one is not affected.
What about the Product objects themselves? Well, there's no need to clone them unless they "belong" to the user. If they are shared, you could happily point to the same Products, and both users would see any changes to products they have in their respective lists.
I know this isn't the right forum for it, but I gotta ask: Are you really from Hell, Eddy? A lot of English speakers claim they're from Hell, but most of them don't even know where it is! Look up "Hell, Stjørdal, Norway" on Google Maps, and you won't be one of them.
The point is if for some reason you wanted to let one user copy another user's favourites, what should you do? Just point to the same list?
I'd serialize the list, as the user won't be sharing my PC's memory The most obvious route would be XML.
I know this isn't the right forum for it, but I gotta ask: Are you really from Hell, Eddy?
It *depends*; if you mean the physical Hell from Norway, I hope to spend my old age there. Not only is it a very low-populated area, one also gets a 6-month night! I heard that one can even get there by train, and internet can probably be arranged too
Bastard Programmer from Hell
if you can't read my code, try converting it here[^]
Hi everyone. I have picked up some great tips and tricks from this website and as a consequence I have pretty much finished my desktop SMS project.
I have asked this question in the .net section as my project is written in such. However, my question is more about the possibilities and practicalities of SMS forwarding as there seems to be a few experts on the general subject here.
my .net project can send and receive SMS text messages through most GSM modems attached to the PC via usb or bluetooth. These text messages are then inserted into SQLServerCe database where certain actions are performed on the messages.
However, I now have a problem. I have seen a a program called SMS Enabler which has the function for setting up a forwarding number. At first I thought it was just a case of taking the received message and then automatically resending it to a stated number.
However, this is not the case as by doing that you are incurring the cost of that SMS as you would for any SMS sent.
This software will forward your SMS to the stated number at no extra cost. I could be wrong, but this might be called "bouncing" the sms onwards. Perhaps it works a bit like call forwarding?
Does anyone know how this might be achieved where an SMS is received by the software and then is auto forwarded to another number at no extra cost (except perhaps to the sender)?