Learn More





DNN Community Blog

The Community Blog is a personal opinion of community members and by no means the official standpoint of DNN Corp or DNN Platform. This is a place to express personal thoughts about DNNPlatform, the community and its ecosystem. Do you have useful information that you would like to share with the DNN Community in a featured article or blog? If so, please contact .

The use of the Community Blog is covered by our Community Blog Guidelines - please read before commenting or posting.

Module Developers - ATTENTION

Working on the module I tried to run the code with the appSetting connection string commented out.  Of course if failed.  I then decided to see what it would take to make my module not rely on the connectionString in the appSetting section, and it was a real easy change to the modules SQL Data provider.

Comments in red are my notes and do not need to be copied.

Original Code
-- This code only checks the appSetting section and if not there then must be set in data provider section and it uses that.

If objProvider.Attributes("connectionStringName") <> "" AndAlso _
   System.Configuration.ConfigurationManager.AppSettings(objProvider.Attributes("connectionStringName")) <> "" Then
   _connectionString = System.Configuration.ConfigurationManager.AppSettings(objProvider.Attributes("connectionStringName"))
   _connectionString = objProvider.Attributes("connectionString")
End If

Replace With

-- This code handles getting the connection string from either the connectionString / appsetting section and use connectionstring section by default if it exists. 
'Get Connection string from web.config
_connectionString = Config.GetConnectionString()

--If above funtion does not return anything then connectionString must be set in the dataprovider section.
If _connectionString = "" Then
    ' Use connection string specified in provider
     _connectionString = objProvider.Attributes("connectionString")
End If

Since some day get rid of the connectionString under appSettings and only have one place to set the connectionString, it would not hurt to start looking at the modules you write so your modules will work when the extra connectionString is eliminated.  It has already been suggested that this be one of the things that the core sub-project look at, so it might not be long before all the core modules no longer rely on the appSetting connectionString. 

Once that happens we could make installation easier, but commenting out the extra connectionString by default. Although this might break a few modules, for the users of DNN it will really make installation easier and cut down on installation issues.  I cannot tell you how many installation I have answered have been because the use set the connectionString in on place but not the other.

Don't worry this is not an official announcement that the appSetting connection strings are going to be deleted.  Just a push in the right direction so that if the official decision is ever made to eliminate the appSetting connectionString, you are ahead of the game and have nothing to worry about.  By making the changes above, if changes are made in how the connectionString is stored / retrieved, your module(s) should be okay since the
GetConnectionString function is most likely where the retrieval logic would change.


Comment Form

Only registered users may post comments.


2sic Daniel Mettler (124)
Aderson Oliveira (15)
Alec Whittington (11)
Alex Shirley (10)
Andrew Nurse (30)
Anthony Glenwright (5)
Antonio Chagoury (28)
Ash Prasad (21)
Ben Schmidt (1)
Benjamin Hermann (25)
Benoit Sarton (9)
Beth Firebaugh (12)
Bill Walker (36)
Bob Kruger (5)
Brian Dukes (2)
Brice Snow (1)
Bruce Chapman (20)
Bryan Andrews (1)
cathal connolly (55)
Charles Nurse (163)
Chris Hammond (203)
Chris Paterra (55)
Clinton Patterson (28)
Cuong Dang (21)
Daniel Bartholomew (2)
Dave Buckner (2)
David Poindexter (3)
David Rodriguez (2)
Doug Howell (11)
Erik van Ballegoij (30)
Ernst Peter Tamminga (74)
Geoff Barlow (6)
Gifford Watkins (3)
Gilles Le Pigocher (3)
Ian Robinson (7)
Israel Martinez (17)
Jan Blomquist (2)
Jan Jonas (3)
Jaspreet Bhatia (1)
Jenni Merrifield (6)
Joe Brinkman (269)
John Mitchell (1)
Jon Henning (14)
Jonathan Sheely (4)
Jordan Coopersmith (1)
Joseph Craig (2)
Kan Ma (1)
Keivan Beigi (3)
Ken Grierson (10)
Kevin Schreiner (6)
Leigh Pointer (31)
Lorraine Young (60)
Malik Khan (1)
Matthias Schlomann (15)
Mauricio Márquez (5)
Michael Doxsey (7)
Michael Tobisch (3)
Michael Washington (202)
Mike Horton (19)
Mitchel Sellers (28)
Nathan Rover (3)
Navin V Nagiah (14)
Néstor Sánchez (31)
Nik Kalyani (14)
Peter Donker (52)
Philip Beadle (135)
Philipp Becker (4)
Richard Dumas (22)
Robert J Collins (5)
Roger Selwyn (8)
Ruben Lopez (1)
Ryan Martinez (1)
Salar Golestanian (4)
Sanjay Mehrotra (9)
Scott McCulloch (1)
Scott S (11)
Scott Wilkinson (3)
Scott Willhite (97)
Sebastian Leupold (80)
Shaun Walker (237)
Shawn Mehaffie (17)
Stefan Cullmann (12)
Stefan Kamphuis (12)
Steve Fabian (31)
Timo Breumelhof (24)
Tony Henrich (3)
Torsten Weggen (2)
Vicenç Masanas (27)
Vincent Nguyen (3)
Vitaly Kozadayev (6)
Will Morgenweck (37)
Will Strohl (163)
William Severance (5)
Try Evoq
For Free
Start Free Trial
a Demo
See Evoq Live
Need More Information?