我有一个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());
}
}
答案 0 :(得分:0)
BL崩溃时,提琴手无法帮助您... :) Windows事件日志中有任何内容吗?您的日志语句(LogYaz)到哪里去了?
答案 1 :(得分:0)
我发现了问题。这与iis应用程序池设置中的身份帐户有关。我在那里设置了一个管理员帐户,并且现在可以使用。我是新手。