我的asmx服务可以在本地计算机的iis上正常运行,即WIN10。但不适用于Windows Server 2008 R2

时间:2019-05-16 12:43:26

标签: c# web-services web com asmx

我有一个asmx Web服务,仅在KayitKontrol()下面调用一个方法。该方法正在使用com对象。它可以在我的本地机器上运行,但是当它在Server 2008上尝试时,它会停止创建com对象类Kernel。两个iis上的设置都相同。我一个星期都找不到。我用提琴手分析了它,只是它不响应504。

我没有安装应用程序服务器。有什么事吗?

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());
                }
}

2 个答案:

答案 0 :(得分:0)

BL崩溃时,提琴手无法帮助您... :) Windows事件日志中有任何内容吗?您的日志语句(LogYaz)到哪里去了?

答案 1 :(得分:0)

我发现了问题。这与iis应用程序池设置中的身份帐户有关。我在那里设置了一个管理员帐户,并且现在可以使用。我是新手。