OneTrueError - Win a 12-month 'Large' subscription worth $2.388!

Introducing the data mapper in Griffin.Framework

As you might know I’m running a .NET exception service called OneTrueError. When I moved from a NoSQL db to SQL Azure I had to be able to work with the database in some way. I’m not using OR/Ms any more. They might significantly reduce the bootstrapping, but in the long run they always tend to make you struggle as the application grow. To me, ORMs is a bit like ASP.NET WebForms, but for data. i.e. it tries to make something what it isn’t. I therefore wanted something that did not take away the control from me nor hide the underlying layer. I still want to work with my domain entities though.

Continue reading

Posted in Architecture, CodeProject, Libraries | Tagged , , , | 6 Comments

Blog down time

Azure and PHP 5.5 didn’t seem to get along very much.

Got a lot of this in the log suddenly (without any modifications):


[07-Feb-2014 05:15:00 America/Los_Angeles] PHP Warning: PHP Startup: Unable to load dynamic library 'D:\Program Files (x86)\PHP\v5.5\ext\php_sqlsrv.dll' - The specified module could not be found.
in Unknown on line 0
[07-Feb-2014 05:15:00 America/Los_Angeles] PHP Warning: PHP Startup: Unable to load dynamic library 'D:\Program Files (x86)\PHP\v5.5\ext\php_pdo_sqlsrv.dll' - The specified module could not be found.
in Unknown on line 0

I’ve reverted to PHP 5.4 in the Azure Management web. All seems to work OK. Thumbs crossed.

Posted in Uncategorized | Leave a comment

OneTrueError and the WinForms/WPF integration

OneTrueError is a new startup which also is a member of Microsoft BizSpark. This post is about the client library for WinForms/WPF. It will catch and handle all uncaught exceptions automatically. The errors are also uploaded to our site for analysis to enable us to suggest possible solutions

Continue reading

Posted in Architecture, CodeProject, OneTrueError | Tagged , , | Leave a comment

OneTrueError and the WCF integration

OneTrueError has a complete WCF integration following the same pattern as WCF. It makes it a breeze to capture and analyze errors in WCF applications.

Continue reading

Posted in Architecture, CodeProject, OneTrueError | Tagged , | Leave a comment

OneTrueError and ASP.NET

OneTrueError is my new startup which also is a member of Microsoft BizSpark. This post is about the client library for ASP.NET (WebForms/MVC/WebAPI). It will catch and handle all uncaught exceptions automatically. The exceptions are also uploaded to our site for analysis to enable us to suggest possible solutions

Continue reading

Posted in CodeProject, Libraries, OneTrueError | Tagged , | 1 Comment

Updates to OneTrueError

Bug fixes

OneTrueError has gotten some bug fixes. A windows update of .NET framework gave us a bit of a down time. Won’t happen again. Fortunately the client library always continue to try to deliver reports if something fails. So nothing should be lost even if the report site is temporarily down.

Continue reading

Posted in OneTrueError | Tagged | Leave a comment

Unit of work sample implementation for ADO.NET

This article demonstrates how you can create a Unit Of Work implementation for ADO.NET

Continue reading

Posted in CodeProject | Tagged , | 1 Comment

Windows azure & WordPress

I had a minor down time due to a failing WordPress plugin update. I had to manually delete the failing plugins using the FTP account which is hidden inside the publish profile XML which you can download. Now I manually have to reinstall those plugins.

Posted in Uncategorized | Leave a comment

Introducing OneTrueError.com

OneTrueError.com is my new startup for .NET developers. It’s a bit like ELMAH, but for most of Microsoft’s different frameworks, and with a tad bit of analytics.

Continue reading

Posted in CodeProject, OneTrueError | Tagged | Leave a comment

Alternative to IEnumerable for read-only collections

.NET 4.5 introduced a new interface which is great if you want to expose a collection as readonly.

The problem with IEnumerable<T> is that it’s forward only. i.e. there is no guarantee that you can traverse it multiple times. The collection size might also be unknown, depending on the implementation.

So if you want to expose a collection which can be traversed multiple times and where the size is know there is as of .NET 4.5 another alternative. And that’s IReadOnlyList<T>. It inherits another new interface called IReadOnlyCollection<out T>.

Code

public interface IReadOnlyCollection<out T> 
      : IEnumerable<T>, 
        IEnumerable
{
    int Count { get; }
}
public interface IReadOnlyList<out T> 
      : IReadOnlyCollection<T>
      , IEnumerable<T>
      , IEnumerable
{
    T this[int index] { get; }
}

Usage example

public class MyRepository
{
    public IReadOnlyList<User> FindUsers(string lastName)
    {
        // [...]
    }

    // [...]
}
Posted in Architecture, CodeProject | 1 Comment