Search code examples
c#web-serviceswebcomasmx

my asmx service works fine on my local machine's iis which is win10. but does not work on windows server 2008 r2


I have a asmx web service which is just calls a method below KayitKontrol(). That method is using a com object. It works on my local machine but when it try it on server 2008 it stops at creating com object class Kernel.I have same settings on both iis. I couldn't figure out for a week. I profiled it with fiddler it just doesn't respond giving 504 response.

I didn't install application server. Is it something about it?

private void KayitKontrol()
        {
            using (SqlConnection conn = new SqlConnection("server=" + serverName + ";initial catalog=" +
                                                          dataBase + ";integrated security=false;uid=" +
                                                          sqlUser + ";password=" + sqlPass + ";"))
            {
                try
                {
                    foreach (var el in kasalist)
                        {
                            try
                            {
                                LogYaz("Kasa Kayıt Atılıyor.");
                                Kernel kernel = new Kernel();//stops right here which is com object.
                                Sirket sirket = default(Sirket);
                                Kasa kasa = default(Kasa);
                                sirket = kernel.yeniSirket(TVTTipi.vtMSSQL,
                                    el.Sirket,
                                    "TEMELSET",
                                    "",
                                    netUser,
                                    netPass,
                                    0);
                                kasa = kernel.yeniKasa(sirket);
                                kasa.KsMas_Kod = el.KasaKodu; //Kasa Kodu
                                kasa.IO = "C";
                                kasa.Tip = "C";
                                kasa.Kod = el.CariKodu; //Cari Kodu
                                kasa.Fisno = el.Fisno;
                                kasa.CariHareketAciklama = "Avans ödemesi(e-flow)";
                                kasa.Aciklama = el.Aciklama;
                                kasa.Tutar = el.TlTutar;
                                kasa.Plasiyer_Kodu = "3500";
                                kasa.Tarih = el.Tarih;
                                kasa.DovizTut = el.DovTutar;
                                kasa.DovizTipi = el.Dovtipi;
                                kasa.Islem(TKasaIslem.tkCariOdeme);
                                Marshal.ReleaseComObject(kasa);
                                Marshal.ReleaseComObject(sirket);
                                kernel.FreeNetsisLibrary();
                                Marshal.ReleaseComObject(kernel);
                            }
                            catch (Exception exception)
                            {
                                LogYaz(exception.ToString());
                            }
                            finally
                            {
                                LogYaz("1 kasa kaydı atıldı.");
                            }
                        }
                    }
                }
                catch (Exception exception)
                {
                    LogYaz(exception.ToString());
                }
}

Solution

  • I found the problem. It was about the identity account in iis application pool settings. I set an administrator account there and it is working now. I am a newbie.