У меня есть задание DTS, которое использует объект MSXML2.XMLHTTP3.0 для создания почтового запроса к приложению ASP.NET. По сути, приложение ASP.NET использует System.Reflection для получения некоторой информации о сборке, и я получаю следующее исключение:
System.Web.HttpException Error Code: -2147467259 Message Session state can only be used when enableSessionState is set to true, either in a configuration file or in the Page directive. Please also make sure that System.Web.SessionStateModule or a custom session state module is included in the \ section in the application configuration.
Код должности DTS:
Dim objSvHTTP
Dim PostData
Set objSvHTTP = CreateObject("Msxml2.XMLHTTP.3.0")
objSvHTTP.open "POST", "http://www.mywebsite.com", false
objSvHTTP.send
If (objSvrHTTP.responseText = "") Then
//do something
Else
//do somethiing else
End If
Код приложения ASP.NET:
string WebPath = "D:\mywebsite\bin\mywebsite.dll";
Assembly UI = Assembly.LoadFrom( @WebPath );
Type t = UI.GetType( "MyWebsite.BasePage" );
MethodInfo MyMethod = t.GetMethod( "MyMethod" );
object obj = Activator.CreateInstance(t);
MyMethod.Invoke( obj, null);
Вопрос в том, нужно ли мне предоставлять действующие учетные данные Active Directory в запросе XMLHTTP к приложению ASP.NET, чтобы избежать сообщения об ошибке





Судя по сообщению об исключении, мне это не кажется проблемой аутентификации. Может быть, вызванный метод пытается получить доступ к сеансу ASP.NET? Это объяснило бы исключение.
Попробуй это: http://support.instantasp.co.uk/Topic4710-31-1.aspx
@ Исрар Хан:
В конце концов мы нашли обходной путь, не выполняя код отражения, когда DTS вызывал конкретную веб-страницу, которая требовалась для процесса.
Это объясняет, почему мы получали неоднозначные результаты, когда пытались решить эту проблему в нашей среде разработки и производственной среде. Я сравнил файлы web.config в каждой среде и заметил, что ссылка на сеанс в разделе HttpModules находится в нашей производственной среде, но не в нашей среде разработки.
Процесс работал в разработке и не работал в производстве. Я отправил это предложение своим коллегам, чтобы узнать, хотят ли они попробовать это решение вместо обходного пути.