Archives / 2017 / March
  • Some notes about MSMQ

    Hello everybody,

    today I want to document few features of MSMQ.

    First of all I want to say that MSMQ is ancient technology. It started it's life from Windows 95 as windows service. So for time of writing of this blog post it already had 22 years! 

    General principle of working of MSMQ is save - forward activity. Store message, forward it to something. By default MSMQ is stored in memory. But you can also store it on disk.

    There are two kinds of Queues in MSMQ : public and private. 

    Public has following features:

    Active directory is used for publishing

    Clients can ask Active Directory for search, manipulate, send messages

    Integrated with windows security

    Private has following … more

  • How to configure WCF for MSMQ

    Hello everybody,

    today I want to document how to configure WCF for usage with MSMQ.

    Of course I suppose you know how to add in windows features MSMQ at each instance where WCF service will work.

    So, first of all, let's see how to configure basic interface:

    [ServiceContract(SessionMode = SessionMode.Required)]

    public interface IService1


    [OperationContract(IsOneWay = true)]

    void GetData(int value);

    [OperationContract(IsOneWay = true)]

    void GetDataUsingDataContract(CompositeType composite);

    // TODO: Add your service operations here


    Take not on two features of each method: 

    Each method has IsOneWay set to true in … more

  • Subtle difference between Html.TextAreaFor and Html.EditorFor

    Hello everybody,

    today I want to document one gotcha related to difference between Html.TextAreaFor and Html.EditorFor.

    Recently I've had a requirement to add hint text to text fields. In Html world there are two ways to create input field which accepts text: <input type="text" /> and <textarea>some text </textarea>. In MVC world you can create those tags with help of Html.TextAreaFor and Html.EditorFor.

    I've had challenges with trying to apply attribute placeholder to TextAreaFor. EditorFor was pretty simplte to google and find:

    @Html.EditorFor(model => model.YourName, new { htmlAttributes = new { @class = "form-control", placeholder="Your name" } })

    But finally after a research I've … more

  • How to manage docker from C# with SSH

    Hello everybody,

    today I want to write a few words about how to work with Docker with help of C#.

    Recently I've got a challenge to find the way how to manage Docker. Initially I've tried Docker.Dotnet library. It has quite interesting options for management of docker, but from my own prospective it's not very convenient for management.  After some trial/error efforts I've decided to try another option. I tried using SSH connection in order to manage linux instance with Docker. In order to have access to CentOs I've used SSH.Net.

    In order to have option for mocking of SSH I've created following interface:

    public interface ISshManager


    string IpHost { get; set; } … more

  • How to add redirect to grid in Acumatica

    Hello everybody,

    today I want to write a few words on how to add links to some entites in Acumatica.

    So, recently I've had an assignment to add redirect into existing grid, so intead of showing some text show nice link which will lead to Purchase order.

    Here is what I've done in order to achieve it.

    First of all I've noticed, what is primary DAC class in graph. It was VendFilt. 

    Then following steps were needed:

    create code for button:


    public PXAction<VendFilt> gotoPOOrder;

    [PXButton(Tooltip = "Open Purchase order")]

    [PXUIField(DisplayName = "Open PO")]

    public virtual void GotoPOOrder()


        var poOrdEntryGraph = PXGraph.CreateInstance<POOrderEntry>();

        var  … more

  • Usage of openssl

    Hello everybody,

    today I want to note just short usage of openssl command:

    openssl req -nodes -days 10 -newkey rsa:2048 -keyout keyfile.pem -out certfile.pem

    this command will generate two files: keyfile.pem and certfile.pem. more

  • How to build private docker registry

    Hello everybody,

    today I want to describe to ways of how private registry of docker can be used and created. Before I'll go in details of it's creation I want to point what is purpose of docker registry in itself. Imagine that you spent a lot of time and money in order to create your own docker image. And for some reasons you don't want to share it with whole world, just with your own customer. What you can do? You have two options:

    Use private docker registry

    Create your own docker registry

    I will omit how to use 1 for now and will go directly to point 2. 

    There are two ways how to create local docker registry:

    Direct installation

    Registry image

    Before you continue to any … more

  • How to open specific port in Cent OS permanently

    Hello everybody,

    today I want to document how to permanently open port in CentOS linux permanently. You can achieve it with following command:

    firewall-cmd --zone=public --add-port=22/tcp --permanent

    or with usage of iptables:

    iptables -I INPUT -p tcp -m tcp --dport 80 -j ACCEPT

    Key --permanent ensures that port will remain working after the reboot. more

  • ngrok and it's usage

    Hello everybody,

    today I want to say a few words about interesting program: ngrok. The main idea of it is to allow other computers to see ports which you've configured in your virtual box machine. And surprisingly it is very cross platform. Take note of the list of platforms at download page: Mac OS X 64-Bit, Windows 64-Bit, Linux 64-Bit, Linux ARM, FreeBSD 64-Bit. more