2009-03-03 27 views
7

COM/ActiveX ile ilgili güzel şeylerden biri işlem dışı EXE idi. VBScript ve JScript de dahil olmak üzere, diğer işlemler tarafından kullanılabilir bir biçimde yöntemleri ve özellikleri gösteren bir EXE olabilir. Aynı zamanda, EXE, tür kitaplığı tarafından açığa çıkmış olanla ilgili veya alakasız kendi işlevlerine sahip olabilir..NET'de işlem dışı COM EXE için bir eşdeğer var mı?

.NET eşdeğeri nedir?

Varolan bir VB6 projesi olan bir betik dili tercümanı (MSScript kullanarak) ve diğer komut dosyası dilleri için çeşitli araç işlevlerinin kaynağı. .NET'e dönüştürmeyi denedim önerildi.

Bu işe yarayacak mı, yoksa bir öğeyi ikiye böler miyim?

cevap

4

Kurumsal hizmetler yalnızca bunlara izin verir. Sen gibi bir COM bileşeni çalıştırabilirsiniz:

  • A DLLHost süreci
  • Bir hizmet
  • bir inproc kitaplığı (bu diğer koduyla aynı sürecindedir)

sayısız örneği vardır İnternette bunlar hakkında. Ne kadar aşağı gelir geçerli:

  • Eğer (a GuidAttribute ile arayüzleri süsleyin ServicedComponent
  • den derrived edilecek Arabirimlerle COM Sizin ihtiyacını barındırmak istiyorum
  • Bileşenleri maruz gerekir Sınıflarınızı süsleyin
  • bir ComVisible (true ile COM maruz kalan arayüzler ve sınıflar) süsleyin) benzersiz bir Guid kullanmak bu yardımcı olur

Umut bağlıyor.

3

.NET yazışması, .NET 2.0 için .NET Remoting ve 3.0+ için WCF şeklindedir. Bununla birlikte, COM nesneleriyle iletişim kurmanız gerekirse, bunun yerine COM'a açık bir nesne oluşturmanız gerekir. Bunun için epeyce dersler var.

1

Bunun için birkaç seçenek vardır; en belirgin olan serviced components; Bu, ayrı bir işlemde çalıştırmak için COM + 'da yönetilen kodun barındırılmasını sağlar, ancak GAC/COM-callable vb.

İlgili konular