Answered by:
Disadvantages of Application Blocks

Question
-
Hi All,
I am developing a data access layer, and weighing all my options ..
1) Using EntityFramework - our data fetching is all SP based, and EF has some restrictions .. this may not fit my bill
2) using Application Blocks -
I would like to know from all viewers of this post, whether you faced any problems with Application Blocks .. especially signing those assemblies.. whether you faced any kind of problems after pushing your app to production
Friday, April 20, 2012 7:38 AM
Answers
-
The Data Access Block (DAAB) is primarily a wrapper around ADO.NET. It makes it easier / less annoying to call stored procedures, but you're still dealing with datasets or data readers. It doesn't actually change how you're interacting with the database; it just makes it less annoying.
I am aware of various data access technology in .net including Data Access block, Ado.net, LinQ2Sql, EF and NHibernate and there are many pros and cons Data Access Block, as your question is specific to Deployment
AFIK, Enterprise Library application blocks can be deployed in one of two configurations:
- As private assemblies in the application folder hierarchy
- As shared assemblies in any file system location or in the global assembly cache
And I am using Option-One for many large scale projects without any issue but I remember few issues with Asp.net partial trust with an Enterprise Library application block. These limitations include the following:
- Enterprise Library throws a Security Exception if it cannot obtain the mandatory permissions.
- Some calls to Logging Application Block trace listener classes fail.
- ASP.NET application directories require specific permissions.
- The AzMan provider is not available with partial trust.
Probabaly most of these limitations may not be applicable to EntLib DAAB 5.0.
If you still want to evaluate where DAAB stands with other data access technology you can use below url
Lingaraj Mishra
- Proposed as answer by Tim Copenhaver Friday, April 20, 2012 9:32 PM
- Marked as answer by Alan_chen Tuesday, April 24, 2012 6:14 AM
Friday, April 20, 2012 1:07 PM
All replies
-
The Data Access Block (DAAB) is primarily a wrapper around ADO.NET. It makes it easier / less annoying to call stored procedures, but you're still dealing with datasets or data readers. It doesn't actually change how you're interacting with the database; it just makes it less annoying.
I am aware of various data access technology in .net including Data Access block, Ado.net, LinQ2Sql, EF and NHibernate and there are many pros and cons Data Access Block, as your question is specific to Deployment
AFIK, Enterprise Library application blocks can be deployed in one of two configurations:
- As private assemblies in the application folder hierarchy
- As shared assemblies in any file system location or in the global assembly cache
And I am using Option-One for many large scale projects without any issue but I remember few issues with Asp.net partial trust with an Enterprise Library application block. These limitations include the following:
- Enterprise Library throws a Security Exception if it cannot obtain the mandatory permissions.
- Some calls to Logging Application Block trace listener classes fail.
- ASP.NET application directories require specific permissions.
- The AzMan provider is not available with partial trust.
Probabaly most of these limitations may not be applicable to EntLib DAAB 5.0.
If you still want to evaluate where DAAB stands with other data access technology you can use below url
Lingaraj Mishra
- Proposed as answer by Tim Copenhaver Friday, April 20, 2012 9:32 PM
- Marked as answer by Alan_chen Tuesday, April 24, 2012 6:14 AM
Friday, April 20, 2012 1:07 PM -
Hello,
Well, to be honest I think that Enterprise library is nice thing for a case study using it in production is just silly because most of the things there are either too limited or not limited to the context of the application you're developing.
Most of the tools offered by the Enterprise Library can be replaced by dedicated libraries that do these things 10 times better with one exception to Unity that in my opinion is fairly simple and get the job done.
If you have the time and knowledge you can really do without it; use it and/or dedicated libraries or write some/all yourself.
Eyal (http://shilony.net), Regards.
Friday, April 20, 2012 8:34 PM -
Thanks LingarajMonday, April 23, 2012 6:53 AM