Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 3 years ago.
Improve this question
What is COM+? What is equivalent for COM+ in .Net?
COM+ was Microsoft's offering in the battle for the middle tier that raged in the late nineties. A set of extensions built on top of COM with typical middleware duties like componentizing modules across machines and getting them to work together in a transaction-safe way. CORBA was another one, now also largely forgotten.
The only thing it really accomplished was to make Java a significant force.
ServicedComponent http://msdn.microsoft.com/en-us/library/7c05y13x(VS.71).aspx
Right here on wikipedia. Has a section on .Net
Component Object Model
There is no equivalent in .Net as you can still use COM+ in .Net but there are better ways of achieving the same thing.
COM Interop used to be a rather dangerous, if not overly-hyped feature.
Why dangerous? It used to collect and dispose of live com pointers, thus pulling the rug right out from under you. Oh my, it was so much fun. It could be fixed by now I would hope.
Related
Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 6 years ago.
Improve this question
Is it possible to raise an event in one .dll that can be handled by another? If so, what should I be looking at.
EDIT:
I think the two dlls are running in the same process - they are both add-ins to another program. I'm limited to what I can do with add-ins, hence the need to have this communication.
I thought about writing to a local file and reading it from the other dll, but how would I know when to read it.
It's called Interprocess Communication
You probably would like to look on Pipes, or look into the IpcChannel Class, which may make things even easier. I personally didn't use any of those under C# language, but what important, is an idea and technology behind, the rest is an implementation detail.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
I see there are some other posts related to this issue. However, I want to ask if there is new elegant way to just exchange some messages between a C#.net application and a C++ application?
They are running on the same machine.
Thanks in advance.
What you want is inter-process communication (IPC), which is language-agnostic by definition.
Typical solutions include:
Named pipes (also called FIFOs)
Mail slots
File mapping
Sockets
RPC
etc.
You use different ones depending on your needs.
Here is information on windows-supported IPC methods: http://msdn.microsoft.com/en-us/library/windows/desktop/aa365574%28v=vs.85%29.aspx
Most of this functionality is exposed in C# through WCF, which is windows-specific of course. If you're using Mono, you're out of luck.
C++ doesn't define any IPC constructs in the language itself, so you will have to use platform-specific libraries regardless.
Search around for IPC examples in C# and C++ and you will get plenty of hits.
Here's a SO post to get you started: IPC Mechanisms in C# - Usage and Best Practices
I have always used sockets, that is the simplest way I can think of (not the most elegant though)
There are many mechanisms you can use to do this.
This article enumerates the common ways to accomplish interprocess communication on the windows platform. Most if not all are possible form both C# and C++ (though I would hate to see you use DDE from C#, though it has apparently been done).
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
We're evaluating SharpKit as a possible technology to write an AJAX application, as we already have much C# code that we believe will work well after translating to JavaScript.
We're aware of ScriptSharp and other related technologies - there are many Stack Overflow threads about them, and this question is specifically about SharpKit only.
We have several concerns, hence are looking for real world experiences with SharpKit. In particular:
The one app built using SharpKit is the coderun IDE. While impressive, it is just one app, and a closed source one at that.
There are apparently no good app-sized sample projects built on SharpKit.
The SharpKit documentation is extremely poor - no in-depth conceptual overviews or tutorials, just a few 5 minute videos and a class library. (When will toolkit vendors learn that a generated class reference maketh not a user guide?)
There is no forum - so we can't determine how much this toolkit is actually being used. For all we know, this is a barely supported project written by three guys. What has your support experience been like?
There is no phone contact or support - which again raises a red flag regarding support.
Please don't respond with ScriptSharp or other information - we're just trying to evaluate SharpKit here.
Check out DesktopBrowser, an open-source project that uses SharpKit.
See #1
There's also an MSDN style reference for all internal and external libraries, you can find it here.
Check out 'SharpKit Support' forum at google groups.
Contacting support is initially done by email at support#sharpkit.net.
Cheers
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 7 years ago.
Improve this question
I have a code which is written in c#, how can I run it in java code??
Thanks
The ikvm project is a JVM written in .net - designed to allow Java and .net interoperability.
If it is a small chunk of code, I'd recommend rewriting it.
If it is a large chunk of code, I'd recommend:
wrapping it as a command and running it using System.exec(), or
turning it into a service and making requests using HTTP, a common RPC protocol or plain sockets.
Only if neither of those approaches were technically feasible would I consider something like JNI or IKVM.
Take a look at JNBridgePro (www.jnbridge.com), which is specifically designed to tightly integrate .NET and Java code.
Disclosure: I work for JNBridge.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 3 years ago.
Improve this question
I have a project written in Java (>1.5).
Is it possible to write parts of the project with C#?
For instance the GUI and calling the methods and instantiate the classes written in java?
If yes, how?
I am author of jni4net, open source intraprocess bridge between JVM and CLR. It's build on top of JNI and PInvoke. No C/C++ code needed. I hope it will help you.
Not without something like ikvm - or using web services etc to communicate between the two sides. Basically it's likely to be much more work than either rewriting your existing project code in C# or writing the GUI in Java.
There is something called Java Language Conversion Assistant for .NET. You can convert your Java classes to c# and start coding.
There is also something called JNBridge (not free).
It seems like my solution is very limited. and apply only to specific version of java.
I probably will stay with old good C :) Can't imagine how to work without shared libraries :)
This document explain how to create a dll from java and use it in C code. I'm not C# or java expert but i'm sure that you can load external dll's in C# as well. So not a complete solution but good starting point, IMHO.
Generally dll it's a perfect way to mixing languages.
In simple way you can pack your java classes to jar file then
In C# use Process class for execute and map IO stream
I did some research on this a few years ago (2005 I believe) and I liked JNBridgePro as the best third party product to do this. Check it out here http://www.jnbridge.com/
Good luck!