2017-02-19 27 views
6

WUApiLib.dll kullanıyorum ve hangi güncelleştirmelerin karşıdan yüklenip yüklenebileceğini algılamak için bir program yazarım.COM nesnesine 'WUApiLib.UpdateSession c türüne dönüştürülemiyor #

Type t = Type.GetTypeFromProgID("Microsoft.Update.Session", "10.81.4.213"); 
    UpdateSession session = (UpdateSession)Activator.CreateInstance(t); 

    ISearchResult SearchResults = UpdateSearchResult.Search("IsInstalled=0"); 
    foreach (IUpdate x in SearchResults.Updates) 
    { 
     Console.WriteLine(x.Title); 
    } 

mükemmel çalışır, ancak bazı durumlarda ben UpdateSession için döküm bir hata alıyorum çoğu zaman:

UpdateSession session = (UpdateSession)Activator.CreateInstance(t); 

aşağıdaki hata ile:

{"Unable to cast COM object of type 'System.__ComObject' to interface type 'WUApiLib.UpdateSession'. 
This operation failed because the QueryInterface call on the COM component for the interface 
with IID '{918EFD1E-B5D8-4C90-8540-AEB9BDC56F9D}' failed due to the following error: 
The RPC server is unavailable. (Exception from HRESULT: 0x800706BA)."} 

ben benzer hatalarla ilgili diğer konularda insanların söylediklerini gördüğüm gibi, güvenlik duvarı yapılandırılmamış, ancak neden bu hatayı alıyorum konusunda hiçbir fikrim yok. herhangi bir fikir sorun nedir ve nasıl çözebilirim?

cevap

0

Uzaktan Yordam Çağrısı (RPC) hizmetinin çalışıp çalışmadığını kontrol edin.

Çalışıyorsa, iş istasyonunuz ve sunucu arasında bir güvenlik duvarı sorunu olabilir. Güvenlik duvarını geçici olarak devre dışı bırakarak ve komutu tekrar deneyerek test edebilirsiniz.

Yoksa senin yüzünden ve hedef bilgisayara

+0

RPC hizmeti çalışıyor, Şimdiye kadar çalışan güvenlik duvarım yok. bağlantı sorunu yoktur. –

1

The RPC server is unavailable

söz konusu bazen fıkra arasındaki ağ bağlantı sorunları olabilir olup hata bu tür için normal bir davranıştır. Aslında bir yapılandırma sorununuz olmadığını söyler. Çok düşük seviyededir, bilgisayarınız sunucu ile doğru şekilde iletişim kuramaz.

Geçici bir ağ sorunu.

Programınızda kurtarılamayacağınız bir sorundur, birisinin ağı onarması veya sunucuyu yeniden çevrimiçi duruma getirmesi gerekiyor. Böylece yapabileceğiniz tek şey, programınızın kullanıcısının sizin özelliğinizin bulunmadığını bilmesine izin vermektir.

Çevirme hataları normalde iyi bir fikir değildir, ancak bu daha yararlı bir tanı göstermeyi düşünmeye yetecek kadar küçüktür. "Üzgünüz, geçici bir ağ iletişimi kesintisi, sunucuyla iletişim kurmamızı engelliyor." Lütfen daha sonra tekrar deneyin veya sorunu çözmek için BT personelle iletişim kurun. " Eğer BT personeli bu konuda yeterince sıkıntı çekerse, ağ veya sunucuyu daha güvenilir hale getirmek için bir şeyler yaparlar. Ne alır, daha iyi donanım, daha iyi bir yazılım değil.

İlgili konular