Boilerplate for application development
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/ISSUE_TEMPLATE
Properties
docs
.gitignore
ISenseFrameworkModule.cs
LICENSE
SenseFramework.csproj
SenseFramework.nuspec
SenseFramework.sln
SenseFrameworkModule.cs
app.config
packages.config

README.md

SenseFramework

Build status

This framework is built to help development of n-tier applications by giving service oriented architectural platform. You may built your apps by implementing of certain libraries. Each library provides components for easiy implementations of repository pattern, unit of work, mapping, logging, aop etc.

Modules

1. Core

  • SenseFramework.Core : Core library which manages all components of an application.

2. Data

  • SenseFramework.Data.EntityFramework : This library contains support for Entity Framework with default Context and repository pattern.
  • SenseFramework.Data.MongoDb : This library contains components to use MongoDb context with repository patttern.
  • SenseFramework.Data.NHibernate : This library is as same as EntityFramework but uses Nhibernate platform to build mappings with code first.

3. Bussiness

  • SenseFramework.Applications : This module provides interface to integrate your bussiness logic with senseframework.
  • SenseFramework.Services : This library is for registering WCF services in your service layer.
  • SenseFramework : This library is startup point of the application. This library must be called in the client runtime application. (Console or Windows Service)

Progress

Continuously in development with new feautures.

SenseFramework module

This module is the startup module of entire SenseFramework domain. If you have implemnted any other SenseFramework modules in an application, to run them all, you need an implementation of SenseFramework

This module can be called in any start point of application.

For Example

Windows Service Applicaition


protected override void OnStart(string[] args)
{
    var task = new Task(() =>
    {
        var fm = new SenseFrameworkModule();
        // to display senseframework events use;
        fm.TrackMessages += fm_TrackMessages;
        fm.StartUp();

    });

    task.Start();           
}

private static void fm_TrackMessages(string message)
{
    //get messages
}

Add log4net.config

Senseframework supports log4net. So if you want to startup a project with SenseFrameworkModule;

  1. Add log4net.config
  2. Set Copy to Output Directory to Copy always or Copy if newer

Sample log4net.config

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <log4net>
    <appender name="Console" type="log4net.Appender.ConsoleAppender">
      <layout type="log4net.Layout.PatternLayout">
        <!--<conversionPattern value="%date %-5level %thread: %message%newline" />-->
        <conversionPattern value="%date %level %thread %logger - %message%newline" />
      </layout>
    </appender>
    
    <appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
      <file value="debug.log" />
      <appendToFile value="true" />
      <maximumFileSize value="100KB" />
      <maxSizeRollBackups value="2" />

      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date %level %thread %logger - %message%newline" />
      </layout>
    </appender>

    <root>
      <level value="DEBUG" />
      <appender-ref ref="Console" />
      <appender-ref ref="RollingFile" />
    </root>
  </log4net>
</configuration>

This call will scan all modules of SenseFramework and will run up.