January 2006 - Posts
|
Late story because it's stuck on my inbox, try it guys you will love it :)
Enterprise Library for .NET Framework 2.0 Now Available!(1/20/2006 2:03:20 PM) |
| The long-awaited update to Enterprise Library for .NET Framework 2.0 is now available - the official release is branded January 2006. This release of Enterprise Library includes six application blocks (Caching, Cryptography, Data Access, Exception Handling, Logging and Security), and provides similar functionality to the previous releases for the .NET Framework 1.1; however, Enterprise Library has been redesigned to use the new capabilities of the .NET Framework 2.0. |
|
Posted By tomhollander |
|
Go to patterns & practices: Enterprise Library |
Feeling tired tonight, after meet Mr. Z for launch event in Yogyakarta last night, after I study for tomorrow course in campus. I have to do some migrating from Application Blocks July 2005 into December 2005, well when I see the classes there are so many different than I known in July 2005 release version. Anyway I just work around in DAAB here some of my sample and result
Yesterday
using Microsoft.ApplicationBlocks.Data;
Now
using Microsoft.Practices.EnterpriseLibrary.Data.Sql;
COMMENT: Great is more logical view than before
Yesterday
System.Data.SqlClient.SqlConnection dbConn;
ds = SqlHelper.ExecuteDataset(dbConn, "GetUserInfo", userID);
Now
sqlDB = new SqlDatabase(strKoneksi);
ds = sqlDB.ExecuteDataSet("GetUserInfo", userID);
COMMENT : WOW now I don't need to using SqlClient great is more independent
The bad thing for everything is i have to migrate all of my code that access db using SqlHelper into SqlDatabase :(
Symptom : When installing SQL Server 2005, you get error belong that can't find package *.cab
Causes : this cause because there are broken installation or another version of SQL Server Express Beta still exist in registry
Resolution : Remove all installation belong to SQL Server 2005 Installation such as VSS Writer, Native Client, etc after that clean registry using registry cleaner and restart and reinstall again
Get ready....for the second launch in Yogyakarta at UKDW University
Meet you there :)
Symptoms : When I create a new web site using VS2005 , I have a bunch of 'fake language' rather than three language
Cause : I really 'khilaf' and clean the registry so careless
Resolution : Please DON'T delete this following Suspected Bad Link Branch folder key by the registry cleaner software which have started with..
HKEY_CURRENT_USER\SOFTWARE\MICROSOFT\VISUALSTUDIO\8.0\..
HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\DBGCLR\8.0\..
HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\MICROSOFT SQL SERVER\90\TOOLS\..
Playing J# 2005 at this moment, in the releases of new version of visual studio .NET 2005 and brand new thing of .NET Framework version Visual J# have a good improvement and dun no why they have a bad improvement too!!
For the first we talking about good improvement. Some of good improvement of J# is
1. J# 2005 now support beanproperty , well this is truly useful for us when using accessor (get and set) in J# you don't need to call like a standard method caller like Java language style but you can call the accessor just like C# style in property and indexer below is the example from MSDN
// beanprop1.jsl
// compile with: /target:module
public class SimpleProperty
{
// must use this comment to treat as beanproperty
/** @beanproperty */
public int getvalue() { return _value; }
/** @beanproperty */
public void setvalue (int v) { _value = v; }
private int _value;
}
// bpconsume.cs
// compile with: /addmodule:beanprop1.netmodule /platform:x86
class CMain
{
public static void Main()
{
SimpleProperty simple = new SimpleProperty();
simple.value = 15;
System.Console.WriteLine( simple.value );
}
}
2. Change some classes from J++ for improvement to Java 2 like in J#, such as generics, user defined value type, user defined enumeration, strictfp for great precession when handling a complex calculation.
3. Support for Applet like development and some of Swing like class, using add on library. Well this issue had been all around in J# since 1.1, but in J# 2.0 vjsuilib (add on assembly) is much better especially for applet like development although drag and drop is not supported in the IDE
4. Support cross class language between j++ classes with .NET BCL, In J# 1.1 is not easy to get wrapper class between J++ class and BCL, now some of them is easy, in example you can catch exception from BCL with J# exception class and vice of versa, using j# serialization and .NET serialization together, and don't forget about converting between J++ legacy type into .NET type has good improvement too
Well another improvement you can see in http://msdn.microsoft.com/vjsharp
But wait there are some left homework for J# development team such as
1. J# isn't support code behind style in ASP.NET development. Well just thinking why this happen since code behind is usually used when developing ASP.NET application and the worst thing is J# not supported in VWD :(
2. If Delphi can support .NET Compact framework development in their Delphi CTP, why J# is not doing same action just like Delphi and support NCF project
3. Hey where is refactoring!! When developing in C# refactoring is second feature that I always used beside intellisense, Refactoring J#? Well I have to do by myself until now :(
Sometimes I think, is Microsoft 'Setengah Hati' in development of J#..? Although J# is not good for enterprise and industrial development. I think J# is better way to inject .NET technology in classes :)
Problem : Well I have two dataset from two different department. Each dataset I get from Web Services And now I have to create master detail relation in one Windows form. As a note they have one column that related each other well frankly speaking it's have same ID column
Solution:
I can't combine two different dataset or DataTable and relate it with DataRelation object. Since .NET will throws an exception if you do so.
One of the stupid solution is like this
1. Create one Dataset to hold the combined dataset
2. Get a DataTable that you want to combine from each two dataset and add it into the Dataset that have you created in point one. Please beware you MUST copy the Dataset, otherwise .NET Runtime will throw you exception
3. Create DataRelation object
4. Create two BindingSource object and two GridView
5. Bind it :)
Below is a snippet sample code to do five step above
// don't compile it it's just sample
// create dataset
dsPayment = new DataSet("Payment");
// add the datatable
dsPayment.Tables.Add(WSConnector.GetMemberPayment().Tables[0].Copy());
dsPayment.Tables.Add(WSConnector2.GetMemberRek().Tables[0].Copy());
// create relation
DataRelation relasi = new DataRelation("hasRekening", dsPayment.Tables[0].Columns[0],
dsPayment.Tables[1].Columns[0]);
dsPayment.Relations.Add(relasi);
// binding payment info and rekening info
BindingSource bindingMaster = new BindingSource();
BindingSource bindingDetail = new BindingSource();
// master dataset
bindingMaster.DataSource = dsPayment;
bindingMaster.DataMember = "PaymentTable";
// bind master binding
bindingDetail.DataSource = bindingMaster;
bindingDetail.DataMember = "hasRekening";
// load grid and bind it
gridPayment.DataSource = bindingMaster;
gridRekening.DataSource = bindingDetail;