Obiekt COM jako klient serwisu WCF

0

Proszę o pomoc z COM, posiadam mam kod:

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;
using System.ComponentModel;
using System.Windows.Forms;



namespace KontrolkaCOM
{
    
    [ComVisible(true), Guid("8D190EA5-7EF2-4DDF-9AEA-660D9D30B30D"), TypeConverter(typeof(ExpandableObjectConverter)), InterfaceType(ComInterfaceType.InterfaceIsDual)]
    public interface IKontrolkaCOM
    {
        public GigitalGUS.DigitalGusClient servis;

         string Nazwa1 { get; set; }
         string Nazwa2 { get; set; }
         string Nazwa3 { get; set; }

         void TestowyMessage(string komunikat);
         int Oblicz(int a, int b);

         void Okno();



    }


    [ComVisible(true), Guid("5B5B05B0-BFAB-47D6-90A7-A2596026C0C4")]//,
    [ClassInterface(ClassInterfaceType.None)]
    [ProgId("KontrolkaCOM.Proc")]
    public class KontrolkaCOM : IKontrolkaCOM
    {


       // public GigitalGUS.DigitalGusClient servis = new GigitalGUS.DigitalGusClient();

        public string Nazwa1
        {
            get;
            set;
        }

        public string Nazwa2
        {
            get;
            set;
        }

        public string Nazwa3
        {
            get; set;
        }

        public void TestowyMessage(string komunikat)
        {
           MessageBox.Show(komunikat);
        }

        public int Oblicz(int a, int b)
        {
            return a * b;
            
        }

        public void Okno()
        {

            try
            {
                MessageBox.Show("dziala");
               
            }
            catch(Exception)
            {
                MessageBox.Show("bład");
            }



            Okno dial = new Okno();
  
            dial.ShowDialog();
        }

    }
}


/*

Dispatch x
	x.Create("KontrolkaCOM.Proc")
	x.Set("Nazwa1", "ala ma kota")

	message(x.Get("Nazwa1"))
	x.TestowyMessage("komunikat")
	int wynik = x.Oblicz(2,7)
	message kwota(wynik)
    error""
*/

za komentowana część na końcu, jest to sposób na uruchomienie w programie Symfonia,
Mój problem polega na tym że jak dodam do projektu referencję do web serwisu to kompilator informuje mnie że:

"Error	2	The type name 'GigitalGUS' does not exist in the type 'KontrolkaCOM.KontrolkaCOM'	D:\C#\!!GusServis\ClassLibrary1\ClassLibrary1\Service References\GigitalGUS\Reference.cs	32	56	KontrolkaCOM:

z tym błędem robiłem w ten sposób że w referencjach zamiast:

 [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public interface IDigitalGusChannel : KontrolkaCOM.GigitalGUS.IDigitalGus, System.ServiceModel.IClientChannel {

dawałem

[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public interface IDigitalGusChannel : GigitalGUS.IDigitalGus, System.ServiceModel.IClientChannel {

Ale nie mogę zrobić nowej instancji ponieważ po dodaniu jej - za komnetowana licnia:

public GigitalGUS.DigitalGusClient servis = new GigitalGUS.DigitalGusClient();

i skompilowaniu niestety ale z poziomu Symfonii dostaje bład z informacją że nie można utworzyć objektu kom.

próbowałem stworzyć dll z instanacją serwisu i metodami, ale również to nie działa.

Bardzo proszę o pomoc w rozwiązaniu problemu.

0

Sam pytam, sam odpowiadam,

Problem rozwiązany poprzez ominięcie obsługi plików konfiguracyjnych.

Dla ciekawskich, podaję rozwiązanie pod adresem//msdn.microsoft.com/en-us/library/ms574912.aspx.

1 użytkowników online, w tym zalogowanych: 0, gości: 1