XMLHTTP POST-запрос и System.Reflection - PullRequest
0 голосов
/ 05 ноября 2008

У меня есть задание DTS, использующее объект MSXML2.XMLHTTP3.0 для создания запроса на публикацию в приложении ASP.NET. Под прикрытием приложение ASP.NET использует System.Reflection для получения некоторой информации о сборке, и я получаю следующее исключение:

System.Web.HttpException Код ошибки: -2147467259 Состояние сеанса сообщения можно использовать только при включении enableSessionState. установлен в true, либо в файл конфигурации или на странице директивы. Пожалуйста, также убедитесь, что System.Web.SessionStateModule или Пользовательский модуль состояния сеанса включены в раздел \ в настройка приложения.

Код работы 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);

Вопрос заключается в том, нужно ли предоставлять vaild учетные данные Active Directory в запросе XMLHTTP приложению ASP.NET, чтобы избежать сообщения об ошибке

Ответы [ 3 ]

1 голос
/ 14 ноября 2008
0 голосов
/ 14 ноября 2008

@ Исрар Хан:

Мы в конечном итоге нашли обходной путь, не выполняя код отражения, когда DTS вызывал конкретную веб-страницу, которая требовалась для процесса.

Это объясняет, почему мы получали смешанные результаты, когда пытались решить эту проблему в наших средах разработки и производства. Я провел сравнение файлов web.config в каждой среде и заметил, что ссылка на сессию в разделе HttpModules была в нашей рабочей среде, но не в нашей среде разработки.

Процесс работал в разработке и не работал в производстве. Я представил это предложение моим коллегам, чтобы узнать, не хотят ли они попробовать это решение вместо обходного пути.

0 голосов
/ 14 ноября 2008

Судя по сообщению об исключении, это не выглядит для меня проблемой аутентификации. Может быть, вызванный метод пытается получить доступ к сеансу ASP.NET? Это объяснило бы исключение.

...