2013-04-16 24 views
5

Bir Azure web sitesine IIS üzerinden bir sunucu üzerinde barındığım bir web sitesini taşımaya çalışıyorum. Bir COM nesnesi kullanıyorum ama bunu kaydedebilir miyim emin değilim? Ben dll yükleme hakkında konuşmak ve başlangıçta kayıt hakkında bazı mesajlar buldum ama makale eksik gibi görünüyor. Mümkün mü?Azure COM Nesneleri

cevap

2

Bir Azure Web Sitesi'nde bir COM nesnesi kaydedemezsiniz. Bunu yapmak için Web Rollerine yükseltmeniz gerekecek. Com nesnesinin kaydı, başlangıç ​​betikleri sırasında gerçekleşebilir.

+0

Bunu nasıl yapıyorsunuz? Gösterge tablosunu inceliyorum ancak Web Rolleri hakkında hiçbir şey göremiyorum. – thecaptain0220

+1

Web Rolleri, Bulut Hizmetlerinin bir parçasıdır. Görsel stüdyonda bir Bulut Hizmeti (WebProle) yaratmanız, mevcut projeyi altına eklemeniz, COM nesnesinin enstrüman başlatma komut dosyasını kaydetmeniz ve başka hiçbir şeyin sabit/değiştirilmemesi gerektiğinden emin olmanız gerekecektir. Ayrıca, WebRollerinin en az 2 sunucuyla çalışmasını beklediğinizden, durum ve oturumun bu – Igorek

4

Bu kesin sorun, eski COM Bileşenlerini Azure'a kaydettirme işlemine sahipti. Benim burada metodolojisini belgelenmiştir:

AspPDF and AspJPEG on Windows Azure

Igorek doğru olduğunu, bunu başarmak için bir Web Rol kullanmanız gerekecektir. Yukarıdaki çözüm, regsvr32'yi bir başlangıç ​​görevi olarak çalıştırmak için bir başlangıç ​​betiğiyle tek bir Web Rolü temelindedir. Özetlemek gerekirse, bunu başarmak için esasen iki bölüm bulunmaktadır.

chcp 1252>NUL 
regsvr32 /s .\library\my-com-class.dll 
exit /b 0 

Sonra ServiceDefinition.csdef dosyasında bir başlangıç ​​görev tanımlamak: İlk regsvr32 komutu çalıştırmak için bir toplu iş dosyası oluşturmak

<Startup> 
<Task commandLine="mybatchfile.cmd" executionContext="elevated" taskType="simple" /> 
</Startup> 

Bu dağıtım çalıştırmak için komut dosyası tetikleyecektir.

+0

ile uyumlu olması gerekir. Proje yapısında cmd dosyasını nereye koyarsınız? Cevabı biraz genişletebilir misin? teşekkür ederim –