SmartAssembly with runtime web service/database location

.NET obfuscator and automated error reporting

Moderators: Luke Jefferson, melvyn.harbour, dom.smith

SmartAssembly with runtime web service/database location

Postby danielsena » Wed Aug 13, 2014 6:22 pm

Hello,

I am trying to use SmartAssembly in an enterprise level application for user exception reporting and would like to have the web service and database server externally configurable at runtime (via a xml config) as due to internal security constraints these locations would have to change depending on where the software is installed.

We have two installation types per site... internal to the production firewall and external, in the office network... additionally each site would have different internal/external locations to meet security requirements.

Due to strict security constraints it is not possible to open ports in the firewall to link the office and production networks, or indeed to link different sites, so it is not possible to host the web services from just one environment.

In addition to the above, certain sites might have very strict security and would not allow reporting databases or web services, would it be possible to exclude the report web service and database altogether... so we could just log the report to the file system of the client machine and ask the user to send the support team the report file. Maybe by setting the web service and database locations to a loopback ip address.

As a stop gap measure, it may be easier to just implement the above point of not using the external servers and just getting the user to send a report file to us (using whatever means necessary to copy out of the security environment). It is very possible that email is not available in the install location or is restricted within that networks firewalls, so the save to disk option is preferable.

Thank you for any help or advise you can give on this matter, I realize it is a uncommon situation, but hope someone has faced and overcame it before!


Daniel.
danielsena
 
Posts: 5
Joined: Wed Aug 13, 2014 5:57 pm

Postby danielsena » Fri Aug 15, 2014 4:09 pm

i realize that my question is a bit too specific to my environment so have rephrased it and will post now...
danielsena
 
Posts: 5
Joined: Wed Aug 13, 2014 5:57 pm

Postby jessica.ramos » Fri Aug 15, 2014 7:59 pm

Hi Daniel,

Thanks for your post! Regarding your queries..

>> would like to have the web service and database server externally configurable at runtime (via a xml config)

I'm afraid there isn't a built-in way to change the service at runtime as SmartAssembly actually hard-codes the web service URL into the error reporting DLL it merges into your app. However, there is the error reporting SDK so you could in theory create a custom error reporting DLL which will allow specifying the service either through the dialog or a config file. (I'm not a developer myself so I'm not entirely sure how to go about that, I'm afraid!)

The article on setting up a custom web server here contains some general information about how the web service works that you might find useful: http://documentation.red-gate.com/displ ... +reporting

If you're interested in using the error reporting SDK, kindly find the documentation on it here: http://www.red-gate.com/products/dotnet ... zed-dialog

Regarding the database though, I'm afraid that SmartAssembly doesn't support using multiple databases. Since the table that stores error reports relies heavily on foreign keys, you could potentially be unable to view any incoming reports reports if certain information isn't found because it's in a different database.

>> would it be possible to exclude the report web service and database altogether...
>> As a stop gap measure, it may be easier to just implement the above point of not using the external servers and just getting the user to send a report file to us

The provided error reporting dialogs do have an option to save the report and send it in later (the dialog + email address option one has the option right away, whereas the default one brings up the option to save the report only if sending failed a few times). You could also use the SDK to make the only option to save the report. This would also avoid using a database--when reports are saved and sent in they don't get added to the database and can only be viewed by opening the physical sareport file.

I hope this information is useful and my apologies if I've misunderstood anything--please let me know if I have and if you have any further questions! :0
Jessica Ramos
Technical Support
Red Gate Software Ltd.
jessica.ramos
 
Posts: 235
Joined: Mon Apr 23, 2012 1:13 pm


Return to SmartAssembly 6

Who is online

Users browsing this forum: No registered users and 0 guests