Próbuję przenieść stronę internetową, którą hostuję na serwerze z usługami IIS, do witryny internetowej Azure. Używam obiektu COM, ale nie jestem pewien, czy mogę to zarejestrować? Znalazłem kilka postów mówiących o załadowaniu biblioteki dll i zarejestrowaniu jej podczas uruchamiania, ale wydaje się, że brakuje tego artykułu. czy to możliwe?Obiekty COM Azure
Odpowiedz
Nie można zarejestrować obiektu COM w witrynie Azure. Aby to zrobić, musisz uaktualnić do ról internetowych. Rejestracja obiektu com może się zdarzyć podczas skryptów startowych.
Miałem ten problem z rejestracją starszych komponentów COM na platformie Azure. I udokumentowane moją metodologię tutaj:
AspPDF and AspJPEG on Windows Azure
Igorek jest poprawna, trzeba będzie użyć Rola sieci Web, aby to osiągnąć. Powyższe rozwiązanie jest oparte na pojedynczej roli internetowej ze skryptem startowym, który uruchamia regsvr32 jako zadanie startowe.
Podsumowując, do osiągnięcia tego są zasadniczo dwie części. Najpierw utworzyć plik wsadowy do uruchomienia polecenia regsvr32:
chcp 1252>NUL
regsvr32 /s .\library\my-com-class.dll
exit /b 0
następnie zdefiniować zadania startowego w pliku ServiceDefinition.csdef:
<Startup>
<Task commandLine="mybatchfile.cmd" executionContext="elevated" taskType="simple" />
</Startup>
To wywoła plik polecenia do uruchomienia na wdrożenia.
Gdzie w strukturze Projektu umieszczasz plik cmd? Czy możesz nieco rozwinąć odpowiedź? Dziękuję Ci –
- 1. Uwalnianie obiektów COM
- 2. Obiekty Delphi, obiekty NIL i interfejsy
- 3. C# + COM Interop, deterministic release
- 4. COM Interop. NET STA
- 5. Właściwy sposób zwalniania obiektów COM?
- 6. Gdzie mogę znaleźć wszystkie obiekty COM, które można utworzyć w Powershell?
- 7. Jak oznaczać obiekty .NET narażone na COM-interop jako pojedyncze wątki?
- 8. Wiele ostrzeżeń dotyczących budowania, gdy obiekty COM ActiveDs lub MSXML2 są przywoływane
- 9. COM Interop (jak przekazać tablicę do com) przez klasyczne ASP
- 10. Reg Free COM - Isolating COM Reference - brakująca wartość "(domyślnie)"
- 11. Powershell COM + settings
- 12. Jak ewoluować interfejs COM?
- 13. Szpiegostwo na obiektach COM
- 14. Czy .NET zastępuje COM?
- 15. COM Interfejs Guid
- 16. COM + kod Wyjątek -532462766
- 17. Nowy dostępny port COM
- 18. Podstawowe linki COM
- 19. Wieloplatformowa alternatywa dla COM
- 20. debugowanie bezpłatnej rejestracji COM (C++)
- 21. Core Data łączy dwa obiekty zarządzane obiekty
- 22. Czy można używać COM widocznych klas .NET z darmową rejestracją COM?
- 23. Azure AD kontra Azure AD B2C kontra Azure AD B2B
- 24. Najlepszy sposób uzyskiwania dostępu do obiektów COM z C#
- 25. Wskazówki dotyczące odliczania odwołań COM od
- 26. Azure Storm vs Analityka strumienia Azure
- 27. Blokada kolejki usługi Azure blokowania PeekBatch Azure?
- 28. Azure AD dodać klucze poprzez Azure CLI
- 29. Wydajność Azure Blob kontra Azure Tabela
- 30. Usługa aplikacji Azure a usługa usług Azure
Jak to zrobić? Przeglądam pulpit nawigacyjny, ale nie widzę niczego na temat ról internetowych. – thecaptain0220
Role sieciowe są częścią Usług Przetwarzania w Chmurze. Będziesz musiał stworzyć usługę chmurową (WebROle) w studio graficznym, dodać istniejący projekt pod nią, rejestrację skryptu uruchamiania przyrządu swojego obiektu COM i upewnić się, że nic innego nie musi zostać naprawione/zmienione. Należy również oczekiwać, że WebRoles będzie działał z co najmniej 2 serwerami, więc stan i sesja muszą być kompatybilne z tym – Igorek