I'm hosting a web service on a separate domain to my DNN installation. In the service I have added references to the DNN DB in web.config, as well as the DNN assemblies to the web service bin folder.
I don't want to use IWeb for this because it is a separate domain and is only a web service.
I'm testing my web service and it's hitting the DNN DB and I have a webmethod that verifies an account based on username/password/portalid:
DotNetNuke.Entities.Users.UserController.ValidateUser(portalId, userName, password, "", "", "", userLoginStatus)
This is all working except there seems to be some caching after the verification.
I get this message returned from my service:
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Web.Services.Protocols.SoapException: System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.ArgumentException: Absolute path information is required.
at System.Security.Util.StringExpressionSet.CreateListFromExpressions(String[] str, Boolean needFullPath)
at System.Security.Permissions.FileIOPermission.AddPathList(FileIOPermissionAccess access, AccessControlActions control, String[] pathListOrig, Boolean checkForDuplicates, Boolean needFullPath, Boolean copyPathList)
at System.Security.Permissions.FileIOPermission..ctor(FileIOPermissionAccess access, String path)
at System.Web.InternalSecurityPermissions.PathDiscovery(String path)
at System.Web.Caching.CacheDependency.Init(Boolean isPublic, String[] filenamesArg, String[] cachekeysArg, CacheDependency dependency, DateTime utcStart)
at System.Web.Caching.CacheDependency..ctor(String filename, DateTime start)
at System.Web.Caching.CacheDependency..ctor(String filename)
at DotNetNuke.Services.Cache.FileBasedCachingProvider.FBCachingProvider.Insert(String CacheKey, Object objObject, Boolean PersistAppRestart)
at DotNetNuke.Common.Utilities.DataCache.SetCache(String CacheKey, Object objObject, Boolean PersistAppRestart)
at DotNetNuke.Common.Utilities.DataCache.SetCache(String CacheKey, Object objObject)
at DotNetNuke.Entities.Host.HostSettings.GetHostSettings()
at DotNetNuke.Common.Globals.get_HostSettings()
at DotNetNuke.Common.Globals.get_PerformanceSetting()
at DotNetNuke.Entities.Profile.ProfileController.GetPropertyDefinitions(Int32 portalId)
at DotNetNuke.Entities.Profile.ProfileController.GetPropertyDefinitionsByPortal(Int32 portalId, Boolean clone)
at DotNetNuke.Security.Profile.DNNProfileProvider.GetUserProfile(UserInfo& user)
at DotNetNuke.Entities.Profile.ProfileController.GetUserProfile(UserInfo& objUser)
at DotNetNuke.Entities.Users.UserInfo.get_Profile()
at DotNetNuke.Entities.Users.UserInfo.set_FirstName(String Value)
at DotNetNuke.Security.Membership.AspNetMembershipProvider.FillUserInfo(Int32 portalId, IDataReader dr, Boolean isHydrated, Boolean CheckForOpenDataReader)
at DotNetNuke.Security.Membership.AspNetMembershipProvider.GetUserByUserName(Int32 portalId, String username, Boolean isHydrated)
at DotNetNuke.Security.Membership.AspNetMembershipProvider.UserLogin(Int32 portalId, String username, String password, String verificationCode, UserLoginStatus& loginStatus)
at DotNetNuke.Entities.Users.UserController.ValidateUser(Int32 portalId, String Username, String Password, String VerificationCode, String PortalName, String IP, UserLoginStatus& loginStatus)
I have no idea how to get past this message, anyone help out?
All I'm trying to do is use the DNN API to allow an external application to check if a user exists or not.
thanks,
Steve