因此,我有3個WebRoles和1個WorkerRole的Azure項目。在每個項目中,我都訂閱了RoleEnvironment.Changing和RoleEnvironment.Changed事件。在WebRole中一切正常,但在WorkerRole中,這些事件不想觸發。RoleEnvironment.Changing事件不會在WorkerRole中觸發
Мoreover當我改變了一些WebRole的設置,WorkerRole也回收每次
WorkerRole運行內的另一個86 proccess和腳本在啓動時
Azure的SDK 1.7使用
<WorkerRole name="MyService" vmsize="Medium" enableNativeCodeExecution="true">
<Startup>
<Task commandLine="startup.cmd" taskType="simple" executionContext="elevated" />
</Startup>
<Runtime executionContext="elevated" />
<Imports>
<Import moduleName="Diagnostics" />
<Import moduleName="RemoteAccess" />
</Imports>
<Endpoints>
<InputEndpoint name="Endpoint1" protocol="http" port="8081" />
<InputEndpoint name="TCPEndpoint" protocol="tcp" port="10101" localPort="10100" />
<InternalEndpoint name="InternalEndpoint" protocol="http" />
</Endpoints>
<ConfigurationSettings>
<Setting name="StorageConnectionString" />
<Setting name="TransactionLogsBlobContainer" />
</ConfigurationSettings>
<LocalResources>
<LocalStorage name="DiagnosticStore" cleanOnRoleRecycle="false" sizeInMB="8192" />
</LocalResources>
</WorkerRole>
有人知道會發生什麼嗎?
感謝
這可能是顯而易見的,但在工作人員的變化情況下,你要爲RoleEnvironmentChangingEventArgs.Cancel爲真?如果是這樣,這迫使工人回收。只有一個服務配置文件 - 適用於所有角色,因此即使這些更改僅應用於與Web角色相關的配置,工作人員也會獲取「更改」和「已更改」事件。 – sebastus
問題是根據日誌 沒有在工作角色中觸發這些事件是的,有一個文件,但是當我更改一個Web角色的設置時,另一個不會對此作出反應 – Artem