我对打开 moss 站点的单向 Web 方法有疑问(可能是因为在单向 Web 方法中,上下文为空)
是否可以重写此代码以删除空引用异常?(没有单向属性我没有例外)
[SoapDocumentMethod(OneWay = true)]
[WebMethod(Description = "TestOneWay")]
public voidTestOneWay(string webUrl)
{
using (SPSite site = new SPSite(webUrl))
{
....
}
}
例外是:
[2304] Error:Object reference not set to an instance of an object.
[2304] w3wp.exe Error: 0 :
[2304StackTrace: at System.Web.Hosting.ISAPIWorkerRequestInProc.GetAdditionalServerVar(Int32 index)
[2304] at System.Web.Hosting.ISAPIWorkerRequestInProc.GetServerVariable(String name)
[2304] at System.Web.HttpRequest.AddServerVariableToCollection(String name)
[2304] at System.Web.HttpRequest.FillInServerVariablesCollection()
[2304] at System.Web.HttpServerVarsCollection.Populate()
[2304] at System.Web.HttpServerVarsCollection.Get(String name)
[2304] at System.Collections.Specialized.NameValueCollection.get_Item(String name)
[2304] at Microsoft.SharePoint.SPGlobal.CreateSPRequestAndSetIdentity(Boolean bNotGlobalAdminCode, String strUrl, Boolean bNotAddToContext, Byte[] UserToken, String userName, Boolean bIgnoreTokenTimeout, Boolean bAsAnonymous)
[2304] at Microsoft.SharePoint.SPRequestManager.GetContextRequest(SPRequestAuthenticationMode authenticationMode)
[2304] at Microsoft.SharePoint.Administration.SPFarm.get_RequestNoAuth()
[2304] at Microsoft.SharePoint.SPSite.CopyUserToken(SPUserToken userToken)
[2304] at Microsoft.SharePoint.SPSite.SPSiteConstructor(SPFarm farm, Guid applicationId, Guid contentDatabaseId, Guid siteId, SPUrlZone zone, Uri requestUri, String serverRelativeUrl, Boolean hostHeaderIsSiteName, Uri redirectUri, Pairing pairing, SPUserToken userToken)
[2304] at Microsoft.SharePoint.SPSite..ctor(SPFarm farm, Uri requestUri, Boolean contextSite, SPUserToken userToken)
[2304] at Microsoft.SharePoint.SPSite..ctor(String requestUrl)
[2304] at Reply.Moss2EAI.SPHandler.GetAllFlowConfiguration(String webUrl, String flowConList)
[2304] at Reply.Moss2EAI.EaiMossIntegration.GetMessagesFromEai(String webUrl, String listName, String applicationName)