Ryan Rogers

My feedback

  1. 20 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    2 comments  ·  Service Fabric  ·  Flag idea as inappropriate…  ·  Admin →
    An error occurred while saving the comment
    Ryan Rogers commented  · 

    For the record, you don't have to use a library assembly, and there need not be any code duplication (unless you need it).

    You can put two (or more) services in the same assembly which derived from a common abstract. The sealed services can serve as a monkier layer only. You can do this as many times as you wish.. The service registers all classes at startup. Each service therefore has it's own endpoints and config and config overrides. You can even do some trickery to get different EventSources which share the same code, but log under different EventSource names, which is beneficial, and something your requested solution would not provide.

    The down-the road maintainability of this approach is not to be ignored. Need separate Startup classes if these need to diverge? No problem. Need separate event source event types? No problem. The derived class can construct these, or use a singleton, as passed into the base implementation (which doesn't care or need to know if it's shared or not).

    If you are truly stuck with one service deployed multiple times, it can easily lead to a spaghetti monster with crazy stuff raised to config level just to keep everything in one code base. By using inheritance and encapsulation of an hidden implementation, you're in a much better position to manage change over time.

  2. 105 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    3 comments  ·  Service Fabric  ·  Flag idea as inappropriate…  ·  Admin →
    An error occurred while saving the comment
    Ryan Rogers commented  · 

    So this means that Reliable Collections have been (or soon will be) ported to .Net Core?!?!?

Feedback and Knowledge Base