2012-02-16 14 views
5

Tôi có một ứng dụng ASP.Net tiêu chuẩn mà tôi đã thêm dự án Triển khai Azure để triển khai Azure. Ứng dụng triển khai tốt với Azure.Tác vụ Windows Azure Startup không kích hoạt

Sau đó tôi muốn mở rộng để có nhiệm vụ khởi động.

Tôi được thêm vào sau vào ServiceDefintion.csdef

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

startup.cmd nằm trong thư mục ứng dụng bin. Tôi đã đăng nhập tập tin lệnh để tôi có thể thấy nó không được thực hiện.

Khi tôi triển khai cùng một ứng dụng cho Trình mô phỏng tính toán trên máy cục bộ của tôi, nhiệm vụ khởi động sẽ thực thi chính xác.

Tôi có thiếu gì đó không?

+0

AppRoot \ Bin có khả năng khác với thư mục Application \ bin. Ứng dụng của bạn có nằm trong thư mục ảo không? –

+0

Tệp có đang được triển khai trên hộp Azure không? Điều gì sẽ xảy ra nếu bạn RDP và tự chạy nó? –

+0

Tệp này chắc chắn đã được triển khai Azure, tôi có thể chạy nó tốt khi tôi RDP Azure. – keitn

Trả lời

1

"startup.cmd" của bạn không chỉ nằm trong thư mục BIN của ứng dụng mà thay vào đó là thư mục gốc và được đánh dấu là "Nội dung" và "Sao chép vào thư mục đầu ra" -> "Sao chép luôn". Nếu không, nó sẽ không được triển khai Azure.

Một thời điểm khác cần lưu ý với các ứng dụng web là bạn có thể đặt thư mục bin trong định nghĩa tác vụ khởi động. Một cái gì đó như:

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

Hy vọng điều này sẽ hữu ích.

+0

Nó chắc chắn được triển khai. Nó nằm trong thư mục gốc và được đánh dấu là Nội dung và Luôn sao chép. – keitn

+1

sử dụng "./bin/startup.cmd" cung cấp lỗi không tìm thấy đường dẫn khi xuất bản. Nếu tôi thay đổi tên của tập tin trong commandLine thành một cái gì đó không hợp lệ như startup1.cmd sau đó Azure xuất bản cũng ném một ngoại lệ cho thấy rằng tôi tập tin ở đúng vị trí và được tìm thấy. – keitn

+0

Tôi ngạc nhiên vì điều này chưa được bình chọn. Đây là giải pháp cho tôi. Tuy nhiên, có vẻ như kịch bản vẫn chưa chạy. Khi tôi chạy nó bằng tay mặc dù (sử dụng Remote Desktop), có một biểu tượng lạ được chèn vào dòng đầu tiên của kịch bản của tôi. Tôi không biết tại sao nó lại làm điều này, nhưng tôi đã bắt đầu chỉ bắt đầu tập lệnh của mình trên dòng thứ hai của tệp .cmd thay vì dòng đầu tiên. Sau khi thực hiện điều đó, mọi thứ hoạt động chính xác bao gồm cả Task Startup để chạy kịch bản tùy chỉnh. – Ant

0

Hơi muộn cho bữa tiệc.

Tôi cũng gặp vấn đề này và với tôi đó là tôi đã thiết lập dự án Vai trò Web cho dự án khởi động thay vì dự án Dịch vụ đám mây Azure. Bằng cách thiết lập Azure Cloud Service làm dự án khởi động, bạn khởi động dự án bằng trình mô phỏng xanh, cần thiết để bắt đầu, chạy và dừng các sự kiện để hoạt động như trong môi trường xanh của bạn.