.NET Core message queue solution - windows

As I have seen, MSMQ is not supported in .NET Core, because it is not cross platform (Windows only). What is Microsoft' s solution for MQ middleware in .NET Core then?
If they have none, is it recommended to use a third-party MQ solution like zeromq, IBM Websphere MQ, RabbitMQ, etc.?

Your question is comparing apples and oranges. It's not that MSMQ is not supported in .NET Core; it's that MSMQ only runs on Windows. A .NET Core application can easily use an MSMQ installation once it's installed. If you install your .NET core application on a Linux machine then no, you cannot also install MSMQ on that same machine. If you install your
.NET Core application on a Windows machine then yes, you can also install MSMQ on the same machine.
If you want to run your .NET Core application on a Linux machine then you have two choices. Install MSMQ on a different machine and use it across the network, or install any of the other options you listed on the same Linux machine.

Related

Is it possible to download MQ on windows server?

Hello im new on this type of software i had serch on Google about MQ but all what i find is that it can be install on linux windows xp ...
so this may be stupid but is there any way to install MQ on windows server
is there any way to install MQ on windows server
Yes. If you have purchased it you should be able to download it for production use via IBM Passport Advantage, all the details can be seen here:
https://www-01.ibm.com/support/docview.wss?uid=swg24043697
If you only want to use it for personal developer use, you can use the free developer edition, which can be found here:
https://developer.ibm.com/messaging/mq-downloads/
So for clarity, 9.1 is the latest LTS (long term service) release, 9.1.1 is the latest CD (continuous delivery) release. Which is more useful depends on what you are trying to use. It is supported on a range of operating systems, including Windows.
From the 9.1 SOE (System requirements), this is supported in windows server 2016 and windows server 2012r2 (that's the server o/s's as well Windows 10 and 8.1 for desktops). If you need older operating system support, you need to look at older MQ releases, such as 9.0*, 8.0* etc.
MQ windows drivers can be installed on any windows machine, depending upon the system requirement for particular MQ, it is not restricted to Windows XP only
System Requirements for MQ 9.1
https://www.ibm.com/software/reports/compatibility/clarity-reports/report/html/softwareReqsForProduct?deliverableId=B560B760819A11E6B5854315721876AE&osPlatforms=Windows
System Requirements for MQ 9.0
https://www.ibm.com/software/reports/compatibility/clarity-reports/report/html/softwareReqsForProduct?deliverableId=8360DD50895F11E5816C133BBD3A3812&osPlatforms=Windows
System Requirements for MQ 8.0
https://www.ibm.com/software/reports/compatibility/clarity-reports/report/html/softwareReqsForProduct?deliverableId=1350550241693&osPlatform=Windows

Websphere MQ Client ver 9.0 compatibility with .NET framework

We are using MQ Client ver 7.5.0.5 (64 bit), now want to migrate to ver 9.0(64 bit).
Downloaded installer from here.
With that said, I would like to ask below:
App was compiled against ver 7.5.0.5; To enable the app to work with ver. 9.0 MQ client Installation does it need to be compiled against 9.0.?
MQ Client ver. 7.5.0.5 works with .NET framework 4.0. I guess MQ Client ver. 9.0. also works with .NET framework 4.0, right?
I searched IBM Site, but I didn't get pages explaining the above compatibility info. I might have not found if any pages explaining the above. If you know, could you give a link?
I think you are asking about .net apps, so my answer expands on that, but for things like C applications, they also should just work.
When you compile against 7505, you build in a dependency on the 7.5.0.5 version of amqmdnet for example. However MQ also ships policy files to indicate the newer versions or fix packs support the functionality of that one, and hence it should run without change on v9
Yes, MQ supports .net framework 4 the same as 7.5.0.5 and should work seamlessly, assuming it worked at 7.5
As an example I ran the 7.5 simpleput.exe sample against a v9 primary install and it just worked. (Although it looks like that sample is built with pre-.net 4, I dont have a .net 4 sample built against 7.5 to hand)
To confirm it really is linked against 7.5.0.5 (bear in mind older pre-7.1 releases all have 1.0.0.3 as the version), you can use ildasm.exe simpleput.exe, look in manifest:
.assembly extern amqmdnet
{
:
.ver 7:5:0:5
}
In the GAC you have a policy file: gacutil /l | findstr /i amqmdnet
policy.7.5.amqmdnet, Version=9.0.0.0, Culture=neutral, ....
I dont know of any compatibility document like that other than the MQ Statement of operating environments (SOE) stating support for .net 4.

Installing MQ Messenger

I have zero experience with Websphere MQ Messenger. I need to build a .NET application that will read from an 7.1 MQ Series queue, manipulate the message and write it to another queue.
I want to try and build a POC to do this. Is it possible to install a Websphere MQ server and client on a non networked Windows 7 machine to build this POC. If so, what MQ software do I need and are their trial versions available?
Thanks
You can install WebSphere MQ on a stand alone machine. Both queue manager and your .NET application must run on the same machine in that case. Download WMQ v7.5 server installation from IBM site. While installing choose to install Windows Client also. Server component is installed by default. After installation use WebSphere MQ Explorer to create queue manager. Many .NET samples are shipped with the product and you can find them in tools directory of WMQ. installation.

What version of SignalR supports WebSockets?

I installed the SignalR package when our project was running .net 4.0. We since upgraded to 4.5 and I want to support WebSockets. I uninstalled Signal packages and reinstalled SignalR (per this answer). However the SignalR DLL versions (1.1.0/1.1.3) are identical in both cases.
Here is my configuration:
ASP.NET 4.5
IIS 8.0 (Windows Server 2012)
WebSockets feature enabled on the server
A WebSocket supporting browser (latest version of Firefox)
Even though I have all these required things, I still get this:
{"Url":"/signalr","ConnectionToken":"Yy6qHcSMMm4vPl9i3ungxJ5aa2P0SJh4UoU4pelAyFcMud0596UaeB6x8AmhZ2SxW_MPk23QXrKGkwar7LjLLnWlBZx1nokd6LRe96k8D-Oua3kSnKsyDa1RrPTE0n9FyaUO9rK3caLfue20Dmx5UkB9F2TKusPD4PDqQw2","ConnectionId":"b7b00e98-3128-4fbb-ba63-fb16f922f168","KeepAliveTimeout":20.0,"DisconnectTimeout":30.0,"TryWebSockets":false,"WebSocketServerUrl":null,"ProtocolVersion":"1.2"}
I guess the important parts are:
"TryWebSockets":false,"WebSocketServerUrl":null,"ProtocolVersion":"1.2"
Does this mean that I am not using WebSockets? What could I be missing?
Thanks so much.
WebSockets are supported in all major versions of SignalR.
Therefore the question is "what is required for my SignalR application to use WebSockets?"
ASP.NET 4.5
IIS 8.0 (Windows Server 2012 or Windows 8)
WebSockets feature enabled on the server
A WebSocket supporting browser
Now that we've established what is required to have a WebSocket enabled application it seems that your missing the enabling of the WebSockets feature.
To enable WebSockets on your server follow the "Step by Step instructions" here.
Hope this helps!
I know your problem - the same that hit ours!
Your problem is the client you are running from.
The client Windows stack must be > Windows7 to use WebSockets on a
.Net Client
This caught us too!
Browsers aren't affected as they have their own WebSocket stack, but the Windows .Net networking stack doesn't have WebSockets.
Windows 8/Windows 2012 and IIS 8 fixes that.
This is why the SignalR load tester (crank) can't use WebSockets when run on Windows7, only in Windows 2012 (regardless of server)
We since upgraded to 4.5 and I want to support WebSockets.
I'm running Windows 2012 Server, IIS 8, WebSockets feature installed on server and I still get this
Since you are using ASP.NET 4.5, IIS 8 and Windows Server 2012, the problem should be relying on how you migrated the project to .NET framework 4.5 or with the browser. Given that most of the modern web browsers support web sockets, I highly doubt your references are still for the .NET framework 4.0.
Try by creating a new project using .NET framework as 4.5. Simply setting the target using project properties sometimes doesn't update the assemblies.

Web socket server for Windows or Ubuntu 9.04

Where can I download websocket server for Windows. Easy to install. Different from node.js I have already tried this one and couldn't manage to run it on my computer.
If you are developing for Windows you'll probably be using .NET. Here are a few .NET WebSocket server options (I'll also be updating this realtime technologies guide with tech as I find them).
XSockets
SuperWebSocket
WebSync (which works with IIS)
Pokein

Resources