0

我有一个 DTS 作业,它使用 MSXML2.XMLHTTP3.0 对象生成对 ASP.NET 应用程序的发布请求。在幕后,ASP.NET 应用程序正在使用 System.Reflection 获取一些程序集信息,我收到以下异常:

System.Web.HttpException 错误代码:-2147467259 消息会话状态只能在 enableSessionState 设置为 true 时使用,无论是在配置文件中还是在 Page 指令中。还请确保 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);

问题是,我是否需要在向 ASP.NET 应用程序的 XMLHTTP 请求中提供有效的 Active Directory 凭据以避免错误消息

4

3 回答 3

1

试试这个: http: //support.instantasp.co.uk/Topic4710-31-1.aspx

于 2008-11-14T09:57:57.497 回答
0

@伊斯拉尔汗:

我们最终找到了一种解决方法,即当 DTS 调用该过程所需的特定网页时不执行反射代码。

这可以解释为什么当我们试图在我们的开发和生产环境中解决这个问题时得到的结果好坏参半。我对每个环境中的 web.config 文件进行了比较,发现 HttpModules 部分中的 Session 引用是在我们的生产环境中,而不是在我们的开发环境中。

该过程在开发中有效,但在生产中无效。我已将此建议提交给我的同事,看看他们是否想尝试此解决方案而不是解决方法。

于 2008-11-14T17:26:19.353 回答
0

从异常消息来看,这对我来说不像是身份验证问题。难道是被调用的方法试图访问 ASP.NET 会话?这将解释异常。

于 2008-11-14T09:48:35.830 回答