LOBJECJT.DLL WCF kullanarak IIS üzerinden bağlanmak istiyorum.
UnityObjects.UnityApplication UnityApp = new UnityObjects.UnityApplication(); // satırırında hata veriyor.
HATA:
Retrieving the COM class factory for component with CLSID {72DB412A-6BF5-4920-A002-2AAC679951DF}
failed due to the following error: 80070005 Erişim engellendi. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)).
Gereksiz yere birden fazla yere post atmayınız .
IIS servere 64 bit oldukda bu hata verir.LObjects 32 bitdir. 32 bit dll register etmek icin IIS parametrelerende bazi seyler deyismelidir
Sn Memmedov,
Bizde aynı sorunu yaşamaktayız,
Acaba IIS 'te nelerin değişmesi gerekiyor ?
iis7 ve iis8 32bit dll çalıştırabiliyorsunuz
(https://forum.logodestek.gen.tr/proxy.php?request=http%3A%2F%2Fwww.deviantsart.com%2F1s3cvbc.png&hash=b38cb9471a510c1917dd068c2f893500b99c500c)
Merhaba,
Server değişikliğine gittik ve 32 bit olan server yerine yeni 64 bit server kuruldu. Server kurulduktan sonra Logo üzerinde malzeme kartı açtıran programın kod bloğundaki ilk satır olan
"malz = Uapp.NewDataObject(DataObjectType.doMaterial); " satırında "System.Runtime.InteropServices.COMException: 'Çok zararlı hata'" hatası meydana gelmeye başladı. Bu işlemi visual basic ile gerçekleştirebilirken C#'da gerçekleştirememiş olmam ISS ile bir bağlantısı olup olmadığı konusunda şüpheler uyandırdı. Referansları her şeyi kontrol ettim ancak visual basic ile arasında bir fark da yok. Hata nereden kaynaklanıyor olabilir acaba?
projenizi debug edip nerde takıldığına bakınız
Alıntı yapılan: ByBirol® - 15.12.2017, 19:29
projenizi debug edip nerde takıldığına bakınız
Birol bey "malz = Uapp.NewDataObject(DataObjectType.doMaterial); " satırında takılıyor. Yeni bir malzeme fişi oluşturma işleminin başladığı satır.
En basit şekilde ;
UnityObjects.Data Itm = Global.UnityApp.NewDataObject(UnityObjects.DataObjectType.doMaterial);
Itm.New();
Itm.DataFields.FieldByName("CARD_TYPE").Value = 1;
Itm.DataFields.FieldByName("CODE").Value = "MALZEME.771";
Itm.DataFields.FieldByName("NAME").Value = "Logo Objects Sample Item";
Itm.DataFields.FieldByName("AUXIL_CODE").Value = "SPECODE";
Itm.DataFields.FieldByName("USEF_PURCHASING").Value = 1;
Itm.DataFields.FieldByName("USEF_SALES").Value = 1;
Itm.DataFields.FieldByName("USEF_MM").Value = 1;
Itm.DataFields.FieldByName("UNITSET_CODE").Value = "05";
Itm.DataFields.FieldByName("SELVAT").Value = 18;
Itm.DataFields.FieldByName("RETURNVAT").Value = 18;
if (!Itm.Post())
{
ErrorControl(Itm);
}