RestBus icon indicating copy to clipboard operation
RestBus copied to clipboard

.NET core 1.0 RTM

Open fleed opened this issue 8 years ago • 10 comments

Any plan to make it compatible with .NET core 1.0 RTM?

fleed avatar Jul 26 '16 04:07 fleed

.NET core version. RabbitMQ.Client has .NET Core version.

idefa avatar Aug 26 '16 04:08 idefa

I have made an experimental fork for supporting .NET Core RTM. See https://github.com/LonghronShen/RestBus Let's play with my port and see if we can merge it back to upstream.

LonghronShen avatar Aug 26 '16 15:08 LonghronShen

Yes, RabbitMQ.Client now has stable .NET Core support. @LonghronShen I'll take a look at your fork over the weekend. Thanks everyone!

tenor avatar Aug 26 '16 16:08 tenor

@tenor Yeah, let's keep in touch to make it. I'm here all the weekend.

LonghronShen avatar Aug 27 '16 01:08 LonghronShen

@LonghronShen I've pulled your changes into a new dot_net_core_1 branch. It looks good. I do have a few tweaks to make. I'm also compiling a bunch of questions regarding some of the changes. I'll get in touch soon.

tenor avatar Aug 29 '16 22:08 tenor

OK. In fact, I also have some questions about design detail, including a known bug. @tenor

LonghronShen avatar Aug 29 '16 23:08 LonghronShen

@LonghronShen I've been integrating the changes you made in the dot_net_core_1 and it's going well.

Here are the questions I have:

  1. I see use of Microsoft namespaces like in hostExtensions.cs where Microsoft.AspNetCore.Builder namespace replaced RestBus.AspNet namespace. Did you run into any difficulties using non Microsoft namespaces?
  2. In the older code, there is a concept of a "Server" which is a bit different from a "Host". A Server is the default server for the application, such as Kestrel, which is defined in the StartUp.cs file or in a configuration file. Replacing the default server with RestBus' server means the application will only listen for requests via RestBus.

A Host on the other hand is an additional means of receiving requests, so you can have a Kestrel server and one or more RestBus hosts all servicing the same application.

Looking at HostExtensions.cs Line 60, it seems like you have combined these concepts. I've not been keeping up with all the changes the ASP.NET Core team have made to the framework but it looks like they have dropped the ApplicationLifeTime.Application[Stopped|Stopping].Register feature. Is that why you removed the extra hosts feature?

I can tell that this was a lot of work! Thanks for working on this feature.

tenor avatar Sep 18 '16 20:09 tenor

@tenor, Thank you for your response! Here is my thoughts:

1.I see use of Microsoft namespaces like in hostExtensions.cs where Microsoft.AspNetCore.Builder namespace replaced RestBus.AspNet namespace. Did you run into any difficulties using non Microsoft namespaces?

This is just because I think the ASP.NET Core Team now has a philosophy that says any extension to ASP.NET Core infrastructure should use their existing namespaces so that we can get all components as a whole. The .NET Core itself is actually based on the concept that just breaks down the whole classic .NET Framework into many small components delivered as NuGet packages, and when one installed several packages, he still feels as if using the full .NET Framework because all parts are connected by the original classic namespaces. So we can act like that as if we are part of the whole .NET Core ecosystem.

2.In the older code, there is a concept of a "Server" which is a bit different from a "Host". A Server is the default server for the application, such as Kestrel, which is defined in the StartUp.cs file or in a configuration file. Replacing the default server with RestBus' server means the application will only listen for requests via RestBus.

I do appreciate your original design. But just like what you said, I failed to keep the Host feature because ASP.NET Team removed the Server concepts, and ApplicationLifeTime mechanism is a little frustrating. So the problem has not been resolved yet.

Keep in touch, I also want the Multi Restbus Instances feature back.

LonghronShen avatar Sep 20 '16 07:09 LonghronShen

Is the project still alive?

fleed avatar Jan 04 '17 21:01 fleed

Yeah, currently you can try the current master branch. It needs more tests.

LonghronShen avatar Jan 20 '17 19:01 LonghronShen