Make handlerSettings optional (#989)
This commit is contained in:
parent
a266d3fa27
commit
f5f0988baf
|
|
@ -56,7 +56,10 @@ ASPNETCORE_SHIM_CONFIG::Populate(
|
||||||
CS_ASPNETCORE_PROCESS_ARGUMENTS,
|
CS_ASPNETCORE_PROCESS_ARGUMENTS,
|
||||||
&m_struArguments));
|
&m_struArguments));
|
||||||
|
|
||||||
RETURN_IF_FAILED(ConfigUtility::FindHandlerVersion(pAspNetCoreElement, &m_struHandlerVersion));
|
if (m_hostingModel == HOSTING_OUT_PROCESS)
|
||||||
|
{
|
||||||
|
RETURN_IF_FAILED(ConfigUtility::FindHandlerVersion(pAspNetCoreElement, &m_struHandlerVersion));
|
||||||
|
}
|
||||||
|
|
||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,12 @@ public:
|
||||||
STRU strHandlerName;
|
STRU strHandlerName;
|
||||||
STRU strHandlerValue;
|
STRU strHandlerValue;
|
||||||
|
|
||||||
RETURN_IF_FAILED(GetElementChildByName(pElement, CS_ASPNETCORE_HANDLER_SETTINGS,&pHandlerSettings));
|
// backwards complatibility with systems not having schema for handlerSettings
|
||||||
|
if (FAILED_LOG(GetElementChildByName(pElement, CS_ASPNETCORE_HANDLER_SETTINGS, &pHandlerSettings)))
|
||||||
|
{
|
||||||
|
return S_OK;
|
||||||
|
}
|
||||||
|
|
||||||
RETURN_IF_FAILED(pHandlerSettings->get_Collection(&pHandlerSettingsCollection));
|
RETURN_IF_FAILED(pHandlerSettings->get_Collection(&pHandlerSettingsCollection));
|
||||||
|
|
||||||
RETURN_IF_FAILED(hr = FindFirstElement(pHandlerSettingsCollection, &index, &pHandlerVar));
|
RETURN_IF_FAILED(hr = FindFirstElement(pHandlerSettingsCollection, &index, &pHandlerVar));
|
||||||
|
|
|
||||||
|
|
@ -67,19 +67,18 @@ DebugInitialize()
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
const auto debugOutputFile = Environment::ExpandEnvironmentVariables(L"%ASPNETCORE_MODULE_DEBUG_FILE%");
|
auto debugOutputFile = Environment::ExpandEnvironmentVariables(L"%ASPNETCORE_MODULE_DEBUG_FILE%");
|
||||||
|
|
||||||
if (!debugOutputFile.empty())
|
if (!debugOutputFile.empty())
|
||||||
{
|
{
|
||||||
g_logFile = CreateFileW(debugOutputFile.c_str(),
|
g_logFile = CreateFileW(debugOutputFile.c_str(),
|
||||||
FILE_GENERIC_WRITE,
|
(GENERIC_READ | GENERIC_WRITE),
|
||||||
FILE_SHARE_READ | FILE_SHARE_WRITE,
|
(FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE),
|
||||||
nullptr,
|
nullptr,
|
||||||
OPEN_ALWAYS,
|
OPEN_ALWAYS,
|
||||||
FILE_ATTRIBUTE_NORMAL,
|
FILE_ATTRIBUTE_NORMAL,
|
||||||
nullptr
|
nullptr
|
||||||
);
|
);
|
||||||
|
|
||||||
if (g_logFile != INVALID_HANDLE_VALUE)
|
if (g_logFile != INVALID_HANDLE_VALUE)
|
||||||
{
|
{
|
||||||
InitializeSRWLock(&g_logFileLock);
|
InitializeSRWLock(&g_logFileLock);
|
||||||
|
|
@ -145,6 +144,7 @@ DebugPrint(
|
||||||
|
|
||||||
SetFilePointer(g_logFile, 0, nullptr, FILE_END);
|
SetFilePointer(g_logFile, 0, nullptr, FILE_END);
|
||||||
WriteFile(g_logFile, strOutput.QueryStr(), strOutput.QueryCB(), &nBytesWritten, nullptr);
|
WriteFile(g_logFile, strOutput.QueryStr(), strOutput.QueryCB(), &nBytesWritten, nullptr);
|
||||||
|
FlushFileBuffers(g_logFile);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -572,13 +572,7 @@ UTILITY::LogEvent(
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
STACK_STRA(converted, 256);
|
WDebugPrintf(dwEventInfoType == EVENTLOG_ERROR_TYPE ? ASPNETCORE_DEBUG_FLAG_ERROR : ASPNETCORE_DEBUG_FLAG_INFO, L"Event Log: %s", pstrMsg);
|
||||||
if (converted.CopyW(pstrMsg))
|
|
||||||
{
|
|
||||||
DebugPrintf(
|
|
||||||
dwEventInfoType == EVENTLOG_ERROR_TYPE ? ASPNETCORE_DEBUG_FLAG_ERROR : ASPNETCORE_DEBUG_FLAG_INFO,
|
|
||||||
"Event Log: %s", converted.QueryStr());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
|
|
|
||||||
|
|
@ -89,4 +89,18 @@ namespace ConfigUtilityTests
|
||||||
EXPECT_EQ(hr, S_OK);
|
EXPECT_EQ(hr, S_OK);
|
||||||
EXPECT_STREQ(handlerVersion.QueryStr(), L"value2");
|
EXPECT_STREQ(handlerVersion.QueryStr(), L"value2");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST(ConfigUtilityTestSingle, IgnoresFailedGetElement)
|
||||||
|
{
|
||||||
|
STRU handlerVersion;
|
||||||
|
|
||||||
|
auto element = std::make_unique<NiceMock<MockElement>>();
|
||||||
|
ON_CALL(*element, GetElementByName(_, _))
|
||||||
|
.WillByDefault(DoAll(testing::SetArgPointee<1>(nullptr), testing::Return(HRESULT_FROM_WIN32( ERROR_INVALID_INDEX ))));
|
||||||
|
|
||||||
|
HRESULT hr = ConfigUtility::FindHandlerVersion(element.get(), &handlerVersion);
|
||||||
|
|
||||||
|
EXPECT_EQ(hr, S_OK);
|
||||||
|
EXPECT_STREQ(handlerVersion.QueryStr(), L"");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue