Hi Everyone,
Im awaiting shipment of Rocky's latest book- so this might be documented in there. But ahead of it, I have the following question.
I am in the process of converting an application that i have running successfully under CSLA 2.1 to 3.6.
I have created my business objects in two different ways- one along the model that Rocky provides in his Project Tracker application sample for 3.6, and the other way using the latest codesmith templates on codeplex.
In both cases the business objects compile successfully, but when they are run they result in the above error message when i attempt to call the object.
Here is the code for from the codesmith templates I generated:
//------------------------------------------------------------------------------
// <autogenerated>
// This code was generated using CSLA 2.x CodeSmith Template Collection.
// Changes to this file may be lost if the code is regenerated.
// Modify user class PriorityList.cs to extend this generated code.
//
// Code was generated at 12/20/2008 7:49:41 PM by Lyndon
// Template path: C:\Users\Lyndon\Downloads\CSLAcontrib-44818\CodeGenTemplates\CodeSmith\CSLA35\CSharp\EditableRootList.cst
// Template website: http://www.codeplex.com/Wiki/View.aspx?ProjectName=CSLAcontrib
// </autogenerated>
//------------------------------------------------------------------------------
using
System;using
System.Linq;using
Csla;using
Csla.Data;using
HRSM2010.DAL;namespace
HRSM2010.Library{
[
Serializable()] public partial class PriorityList : BusinessListBase<PriorityList, Priority>{
#region
BindingList Overrides protected override object AddNewCore(){
Priority item = Priority.NewPriority(); this.Add(item); return item;}
#endregion
//BindingList Overrides
#region
Factory Methods private PriorityList(){
/* require use of factory method */ } public static PriorityList NewPriorityList(){
return DataPortal.Create<PriorityList>();}
public static PriorityList GetPriorityList(){
return DataPortal.Fetch<PriorityList>();}
#endregion
//Factory Methods#region
Data Access#region
Data Access - Create[
RunLocal] protected override void DataPortal_Create(){
bool cancel = false;OnCreating(
ref cancel); if (cancel) return;
OnCreated();
}
partial void OnCreating(ref bool cancel); partial void OnCreated();#endregion
//Data Access - Create#region
Data Access - Fetch private void DataPortal_Fetch(){
bool cancel = false;OnFetching(
ref cancel); if (cancel) return; using (var mgr = ContextManager<HRSM2010.DAL.HRSMDynDataContext>.GetManager(
Database.HRSMDyn)){
RaiseListChangedEvents =
false; this.AddRange( from row in mgr.DataContext.PriorityTables select Priority.GetPriority(row.PriorityCode));
RaiseListChangedEvents =
true;}
//using
OnFetched();
}
partial void OnFetching(ref bool cancel); partial void OnFetched();#endregion
//Data Access - Fetch#region
Data Access - Update protected override void DataPortal_Update(){
bool cancel = false;OnUpdating(
ref cancel); if (cancel) return; using (var mgr = ContextManager<HRSM2010.DAL.HRSMDynDataContext>.GetManager(
Database.HRSMDyn)){
DataPortal.UpdateChild(this);mgr.DataContext.SubmitChanges();
}
//usingOnUpdated();
}
partial void OnUpdating(ref bool cancel); partial void OnUpdated();#endregion
//Data Access - Update#endregion
//Data Access}
}
I am intending to use Windows Authentication purely. In CSLA 2.1 , I dont think I had to use the Security folder and objects to get this working. ie I wasnt using form login. However, in 3.6 when I set up Authentication Mode="Windows" in the web.config file, I am getting error in the above subject line.
Am I missing something here? ie is the equivalent of security folder in the PTtracker example required in my application even if I am using Windows integrated security? Am I correct in assuming the fetch isnt successful because of authenication?
Thanks in advance for any help.
yes I did. It comes up with a data portal exception aboce in subject line
Here is web.config below ( error occurs when allow users="*" is set- when deny users="?" is set I simply get an 'Access is denied' from IIS)
<?
xml version="1.0"?><
configuration><
configSections><
sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"><
sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"><
section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/><
sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"><
section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere"/><
section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/><
section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/><
section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/></
sectionGroup></
sectionGroup></
sectionGroup></
configSections><
appSettings><
add key="CslaAuthentication" value="Windows"/><!--
<add key="CslaDataPortalProxy" value="Csla.DataPortalClient.RemotingProxy, Csla"/><add key="CslaDataPortalUrl" value="http://localhost:3134/RemotingHost/RemotingPortal.rem"/>
--><!--
<add key="CslaDataPortalProxy" value="Csla.DataPortalClient.WebServicesProxy, Csla"/><add key="CslaDataPortalUrl" value="http://localhost:3137/WebServicesHost/WebServicePortal.asmx"/>
--><!--
<add key="CslaDataPortalProxy" value="EnterpriseServicesHost.EnterpriseServicesProxy, EnterpriseServicesHostvb"/>--></
appSettings><
connectionStrings><
add name="HRSM2010.DAL.Properties.Settings.HRSMDynConnectionString1" connectionString="Data Source=LYNDON-MAIN\VS2008;Initial Catalog=HRSMDyn;Integrated Security=True;" providerName="System.Data.SqlClient" /><
add name="SqlRoleManagerConnection" connectionString="Data Source=LYNDON-MAIN\VS2008;Initial Catalog=HRSMDyn;Integrated Security=SSPI;Persist Security Info=False;"/><!--
<add name="LocalSqlServer" connectionString="Data Source=LYNDON-MAIN\VS2008;Initial Catalog=HRSMDyn;Integrated Security=True" providerName="System.Data.SqlClient"/>--></
connectionStrings><
system.web><!--
Set compilation debug="true" to insert debugging
symbols into the compiled page. Because this
affects performance, set this value to true only
during development.
Visual Basic options:
Set strict="true" to disallow all data type conversions
where data loss can occur.
Set explicit="true" to force declaration of all variables.
--><!--
<roleManager enabled="true" defaultProvider="SqlRoleManager"><providers>
<clear/>
<add name="SqlRoleManager" type="System.Web.Security.SqlRoleProvider" connectionStringName="SqlRoleManagerConnection" applicationName="HRSM2007"/>
</providers>
</roleManager>
--><
compilation debug="true" strict="false" explicit="true"><
assemblies><
add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/><
add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/><
add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/><
add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/><
add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/><
add assembly="PresentationFramework, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/><
add assembly="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/><
add assembly="System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/><
add assembly="WindowsBase, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/><
add assembly="PresentationCore, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/><
add assembly="System.Workflow.Runtime, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/><
add assembly="System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/><
add assembly="System.Transactions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/></
assemblies></
compilation><
pages><
namespaces><
clear/><
add namespace="System"/><
add namespace="System.Collections"/><
add namespace="System.Collections.Generic"/><
add namespace="System.Collections.Specialized"/><
add namespace="System.Configuration"/><
add namespace="System.Text"/><
add namespace="System.Text.RegularExpressions"/><
add namespace="System.Linq"/><
add namespace="System.Xml.Linq"/><
add namespace="System.Web"/><
add namespace="System.Web.Caching"/><
add namespace="System.Web.SessionState"/><
add namespace="System.Web.Security"/><
add namespace="System.Web.Profile"/><
add namespace="System.Web.UI"/><
add namespace="System.Web.UI.WebControls"/><
add namespace="System.Web.UI.WebControls.WebParts"/><
add namespace="System.Web.UI.HtmlControls"/></
namespaces><
controls><
add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/><
add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/></
controls></
pages><!--
The <authentication> section enables configuration
of the security authentication mode used by
ASP.NET to identify an incoming user.
--><
authentication mode="Windows"/><
identity impersonate="true"/><!--
<forms loginUrl="Login.aspx" name="ptracker"/></authentication>
--><
authorization><!--
<deny users="?"/>--><
deny users="?"/></
authorization><!--
The <customErrors> section enables configuration
of what to do if/when an unhandled error occurs
during the execution of a request. Specifically,
it enables developers to configure html error pages
to be displayed in place of a error stack trace.
<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
<error statusCode="403" redirect="NoAccess.htm" />
<error statusCode="404" redirect="FileNotFound.htm" />
</customErrors>
--><
httpHandlers><
remove verb="*" path="*.asmx"/><
add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/><
add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/><
add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/></
httpHandlers><
roleManager enabled="true" defaultProvider="SqlRoleManager"><
providers><
clear/><
add name="SqlRoleManager" type="System.Web.Security.SqlRoleProvider" connectionStringName="SqlRoleManagerConnection" applicationName="HRSM2007"/></
providers></
roleManager><
httpModules><
add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/></
httpModules></
system.web><
system.codedom><
compilers><
compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" warningLevel="4" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"><
providerOption name="CompilerVersion" value="v3.5"/><
providerOption name="OptionInfer" value="true"/><
providerOption name="WarnAsError" value="false"/></
compiler></
compilers></
system.codedom><!--
The system.webServer section is required for running ASP.NET AJAX under Internet
Information Services 7.0. It is not necessary for previous version of IIS.
--><
system.webServer><
validation validateIntegratedModeConfiguration="false"/><
modules><
remove name="ScriptModule"/><
add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/></
modules><
handlers><
remove name="WebServiceHandlerFactory-Integrated"/><
remove name="ScriptHandlerFactory"/><
remove name="ScriptHandlerFactoryAppServices"/><
remove name="ScriptResource"/><
add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/><
add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/><
add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/></
handlers></
system.webServer><
runtime><
assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"><
dependentAssembly><
assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35"/><
bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/></
dependentAssembly><
dependentAssembly><
assemblyIdentity name="System.Web.Extensions.Design" publicKeyToken="31bf3856ad364e35"/><
bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/></
dependentAssembly></
assemblyBinding></
runtime></
configuration>
thanks- checked that- and it made no difference.
I have since got Rocky's latest book VS2008. I am trying to code the objects mirroring his examples.
Copyright (c) Marimer LLC