Azure 웹 사이트에서 클라우드 서비스의 웹 역할로 웹앱 배포를 이동하고 있습니다.
마이그레이션의 일부는 역할 구성에서 일부 로컬 스토리지를 예약하고 쓰기에 적합한 경로를 찾기 위해 다음 명령을 사용하도록 로컬 파일 시스템과의 상호 작용을 변경하는 것과 관련이 있습니다.
LocalResource tempStorageResource = RoleEnvironment
.GetLocalResource("SomeRoleStorage");
var targetFolderPath = tempStorageResource.RootPath;
그러나 WebSite 인스턴스에서 작업을 계속하고 싶습니다. 실제 위치를 추상화하는 경로 공급자를 작성하겠습니다. 이를 구현하려면 로컬 / 디버거에서 실행 중인지 여부를 감지해야하지만 실행중인 코드가 WebSite 또는 WebRole에서 실행 중인지 여부도 알아야합니다. 어떻게 할 수 있습니까?
public class AzurePathProvider : ILocalStoragePathProvider
{
public string GetStoragePath(string key)
{
var isWebRole = //????;
if(isWebRole)
{
LocalResource tempStorageResource =
RoleEnvironment
.GetLocalResource(key);
return tempStorageResource.RootPath;
}
else
{
return "/some/other/storage/location";
}
}
}
RoleEnvironment.IsAvailable
코드가 클라우드 서비스에서 실행 중인지 여부를 확인하십시오 . true
코드가 클라우드 서비스에서 실행될 때 항상 발생합니다 false
. 그렇지 않으면 .
또한 코드가 계산 에뮬레이터에서 실행중인 경우, 당신이 확인할 수 있습니다 감지 RoleEnvironment.IsEmulated
와 함께 RoleEnvironment.IsAvailable
.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다