NServiceBus Version 7.1.x configrution in asp.net core 3.0 best way - api

I am using NServiceBus as middelware for an asp.net core 3.0 API. I already configured the service in my API using NServiceBus version 7.2 because the documentation for that on the website of particular is amazing. Saddly I have a probleem because i got a licence for an older version of NServiceBus versions until version 7.1.x are valid.
my question is: is there a recomendition for configuring NServiceBus in asp.net core using Versions 7.1.x?

One option is to use an external container and configure the endpoint to use it. Take a look at the sample available in the README of the MSDependencyInjection container.
The same thing can be achieved, with very similar code using one of the supported IoC container: https://docs.particular.net/nservicebus/dependency-injection/#internally-managed-mode-using-a-third-party-container

Related

Is Service Discovery available in .NET Standard 2.0?

Using the tip found in this answer, I've been able to include general WCF support while converting my .NET Framework 4.8 assembly to .NET Standard 2.0. However, my code relies heavily on Service Discovery.
In a brute-force approach I tried these packages:
System.ServiceModel.Duplex
System.ServiceModel.Federation
System.ServiceModel.Http
System.ServiceModel.NetTcp
System.ServiceModel.Primitives
System.ServiceModel.Security
System.ServiceModel.Syndication
...but none of them contain the supporting namespaces/classes.
Will it be possible to include Service Discovery support in my .NET Standard 2.0 assembly?
Sadly DiscoveryClient is .Net framework only
so you can't convert everything to .net standard/.net core.

KSQLDB asp.net core

I don't see any article/blog written around KSQL DB for asp.net core and there are less/no documentation available. It would be appreciated if you could help me with the code/article/blog on kSQLDB with asp.net core
You can use ksqlDB.RestApi.Client package in .NET / C#.
Install-Package ksqlDB.RestApi.Client
There is an AspNet Blazor sample in tomasfabian\ksqlDB.RestApi.Client-DotNet GitHub repository. It demonstrates how to use ksqldb streams, tables and monitor push notifications from SQL Server with a connector. You can react to these topics (streams/tables) with a Kafka consumer or ksqldb client.
Clone the repository:
https://github.com/tomasfabian/ksqlDB.RestApi.Client-DotNet.git;
Open InsideOut.sln in Visual Studio 2019 and set docker-compose as startup project.
This console app contains LINQ to ksqldb query examples. There are also some LinqPad samples available.
You should also check the Readme.
I think that this could be a good starting point for you.
ksqlDB is written in Java, thus cannot be "hosted" by ASP.NET infrastructure. Similarly, to my knowledge, there is no Kafka Streams equivalent library for .NET.
ksqlDB offers a REST API if you needed to interact with it from other languages

NServiceBus support .NetCore or not?

I read some article about NServiceBus and i want use it, but i dont know it fully supported the .NetCore or not, i googled about it (and found some information like This), but it could not help me much, any one can help me?
UPDATE: Starting from NServiceBus 7.0.1 they introduce support on .NET Standard 2.0 and thus can run on .NET Core 2.1+.
Building endpoints with .NET Core 3.1 explains how to configure it on .NET Core 3.1 and generic host.
Original answer:
NServiceBus package has no dependency on any NetStandard so it means it cannot run on Core CLR. You can use it in .NET Core projects only if you target Full .NET Framework, not .NET Core.
As of 24 April 2017 NServiceBus does not support .net core. The most current public status is this https://particular.net/blog/nservicebus-on-net-core-why-not
However I can say that internally to Particular significant effort is being put into getting .net standard support shipped.
I will add this question to the list of follow ups for after we ship
Update: Particular Software announced upcoming support for .NET Core 2.0 on their company blog here: https://particular.net/blog/nservicebus-on-net-core-its-time

Calling a .NET 4.0 component by .NET 1.1

I work at a financial institution, in a team whick takes care of a "home-made" corporate component. This component was built using .NET 1.1, and the other teams use it a lot, specially along with the legacy systems (the ones which are still in .NET 1.1 too)!
Now we want to upgrade this component to .NET 4.0 so we can use some new features (in fact, we want to use Websphere MQ, and its .NET library was build over .NET 2.0). However, can't simply change the runtime of our component, because our internal clients can't afford with an upgrade to their systems.
So, we need to keep a .NET 1.1 component working as a proxy to some service built in .NET 4.0. This was where my question came from: how this interoperability can be made? My first answer was using .NET Remoting 4.0 to comunicate these two parts. Although we can use a WCF service exposed with a HTTP binding (the .NET 1.1 component uses it as it was a ASMX web service), .NET Remoting has proven its performance advantage over the previous solution, but it's a legacy framework (http://msdn.microsoft.com/en-us/library/kwdt6w2k.aspx).
What I'd like to know is if you guys have another idea to do this interop. Is there a way to call a WCF service exposed with the netTCP binding by a .NET 1.1 client?
Thanks a lot!
The real solution is to get over the problems that are forcing you to use unsupported software (.NET 1.1). Then you won't have to do horrible things like the following:
Create a .NET 4.0 class library.
Add a Service Reference to your WCF service.
Create classes and interfaces which can be used to call the WCF service.
Expose them as COM classes and interfaces
Have your .NET 1.1 code consume the COM object and make calls through it
Would be, "compare the amount of effort you just spent on trying to make obsolete unsupported code work vs. the amount of new, useful work you just did".
Note also that this technique quite rightly places .NET 1.1 in the same category as Classic ASP in terms of its ability to use modern software like WCF.
Finally, note that I haven't found a way to make the WCF client in this situation to use a config file. It was necessary to configure it in code.
Is there a reason why you can't port the component and have two versions (a 1.1 version and a 4.0) version? That would let the legacy apps continue to use the component, but your 4.0 stuff could use a newer version without all the complexity required in your proposed solution.
Different versions of .net assemblies can play nice with each other, you aren't forced to only have one version of the component.

Host ASP.NET ( C# 3.0 ) on Mono

I have site implemented in ASP.NET ( c# 3.0). Can I host that on Mono ?
If I can, do I need to change something in my code ( except communication with database) ?
Due to the Mono Compatibility page the latest stable version of Mono (version 2.8) has complete support to the ASP.NET 4.0 and ASP.NET MVC 2. There is some useful links to read about porting and establishing your site to Mono:
Mono ASP.NET Section
Mono ASP.NET FAQ
Porting ASP.NET Applications
Walkthrough: Porting Asp.Net MVC Website
Can I host that on Mono ?
You can host your application either on Apache with mod_mono or through FastCGI on web servers like nginx or lighttpd.
do I need to change something in my code
Only if some parts of your application use technologies/libraries which are not supported by mono.