locked
UIP 2.0 with ASP.NET 2.0 / Whidbey RRS feed

  • Question

  • User-1224914121 posted
    Hello, i have successfully implemented uip 2.0 with a asp.net 1.1 application. while trying to migrate to asp.net with whidbey the compiler gives an error in the configuration (web.config). Does anybody know whats wrong?! The configuration is right an should work. Thanks for any help! Configuration Error Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately. Parser Error Message: Exception in configuration section handler web.config Wildcard '##any' allows element 'statePersistenceProvider', and causes the content model to become ambiguous. A content model must be formed such that during validation of an element information item sequence, the particle contained directly, indirectly or implicitly therein with which to attempt to validate each item in the sequence in turn can be uniquely determined without examining the content or attributes of that item, and without any information about the items in the remainder of the sequence.. Source Error: Line 5: <section name="appParams" type="System.Configuration.NameValueFileSectionHandler, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/> Line 6: </configSections> Line 7: <uipConfiguration enableStateCache="true"> Line 8: <objectTypes> Line 9: <iViewManager name="MobileWebFormViewManager" type="Microsoft.ApplicationBlocks.UIProcess.MobileWebFormViewManager, Microsoft.ApplicationBlocks.UIProcess, Version=1.0.1.0,Culture=neutral,PublicKeyToken=null"/> Source File: web.config Line: 7 Version Information: Microsoft .NET Framework Version:2.0.40607.16; ASP.NET Version:2.0.40607.16
    Friday, October 8, 2004 2:53 AM

All replies

  • User164723172 posted
    I had the same issue and found it has somthing to do with the ValidateSchema method of UIPConfigHandler in UIP block. I think it is related to Whidbey's System.XML changes. I haven't spent too much time on it, my guess is it is either a feature or bug in ValidatingReader. I saw ValidatingReader is deprecated and we are suggested to use XmlReader.Create function. May be that is the solution, but it is strange why backward compatibility is broken even in Microsoft's own code. I simply returned out of this method skipping validation. I was able to get beyond this ##any issue but have a new problem. UIP doesn't even start as I am getting an Exception in Assembly.Load function in UIP's GenericFactory.Create. If anybody from Microsoft has successfully converted an UIP ASP.NET 1.1 project to ASP.NET 2.0, please help. If UIP is going to be dropped from the patterns, please let us know so we can figure out alternative ways.
    Thursday, December 9, 2004 4:54 PM
  • User164723172 posted
    Finally I was able to get UIP working in Whidbey. I had to keep my controller and WebFormView derived class in a separate assembly.
    Monday, December 20, 2004 6:07 PM
  • User312458029 posted
    Hi Santanbo
    i experienced the same problem when trying to use uipab 2.0 with  asp.net 2.0 beta 2.
    would you be kind enough to elaborate on what you had to do to get it working.?

    in particular i would like to know
    1.   were you using .net 2.0 beta 1 or  2.
    2.  what dev tool did you use.  ( currently i am using .net 2.0 beta 2 with visual web Dev 2005 express. im still waiting for a copy of VS full 2005 beta )
    3. did you have to apply any other fixes other than simply placing your controller and WebFormView derived class in a separate assembly.

    your help would be much appreciated.
    regards jason.
    Thursday, May 26, 2005 10:59 AM
  • User-1027135608 posted

    I sent email to Santanbo because I have the same problem with UIP Application Block.

    Can you please explain to me in details how did you solutioned this particular problem of UIP Aplication Block? I have the same problem, with the Web.Config file, and I don´t know what to do! It appears that the Web.Config´s schema has changed from one version to other of Asp.Net.

    Friday, August 26, 2005 10:05 AM
  • User-2086615128 posted

    Hey

    I just recompiled the entire framework. And I had the same problem. After some investigation a noticed that xsd sheme's in .NET 2005 are more strickter then 1.1. After examining the UIPConfigSchema.xsd I found the problem.

    .NET 2005 thinks that this element <xs:any maxOccurs="unbounded" minOccurs="0" processContents="skip" /> makes all other elements in that tag ambigious because you first declare that the configuration should have a iViewManager, a state, a controller and statePersitenceProvider and then you declare that all objects are allowed.

    So if you comment out or remove following rule <xs:any maxOccurs="unbounded" minOccurs="0" processContents="skip" /> everything starts working.

    You'll need to rebuild the UIP 2.0 framework

    Kind regards Thomas Annerel

    Example file:
    <xs:element name="objectTypes" minOccurs="1" maxOccurs="1">
         <xs:complexType>
          <xs:sequence>
           <xs:element name="iViewManager" minOccurs="1" maxOccurs="unbounded">
            <xs:complexType>
             <xs:sequence></xs:sequence>
             <xs:attribute name="name" type="xs:string" use="required" />
             <xs:attribute name="type" type="xs:string" use="required" />
             <xs:attribute name="default" type="xs:boolean" default="false" use="optional" />
            </xs:complexType>
           </xs:element>
           <xs:element name="state" minOccurs="1" maxOccurs="unbounded">
            <xs:complexType>
             <xs:sequence />
             <xs:attribute name="name" type="xs:string" use="required" />
             <xs:attribute name="type" type="xs:string" use="required" />
             <xs:attribute name="default" type="xs:boolean" default="false" use="optional" />
            </xs:complexType>
           </xs:element>
           <xs:element name="controller" minOccurs="1" maxOccurs="unbounded">
            <xs:complexType>
             <xs:sequence></xs:sequence>
             <xs:attribute name="name" type="xs:string" use="required" />
             <xs:attribute name="type" type="xs:string" use="required" />
            </xs:complexType>
           </xs:element>
           <xs:element name="statePersistenceProvider" minOccurs="1" maxOccurs="unbounded">
            <xs:complexType>
             <xs:sequence></xs:sequence>
             <xs:attribute name="name" type="xs:string" use="required" />
             <xs:attribute name="type" type="xs:string" use="required" />
             <xs:attribute name="default" type="xs:boolean" default="false" use="optional" />
             <xs:anyAttribute processContents="skip" />
            </xs:complexType>
           </xs:element>
           <!-- <xs:any maxOccurs="unbounded" minOccurs="0" processContents="skip" /> -->
          </xs:sequence>
          <xs:anyAttribute processContents="skip" />
         </xs:complexType>
        </xs:element>

    Thursday, October 13, 2005 4:01 AM
  • User-886359468 posted
    Thanks Tannerel! This fix, combined with a workaround of using a separate assembly for the controllers (so that the DLL can be referenced in the UIP configuration) gets UIP 2.0 running on VS 2005, .NET 2.0.
    Thursday, October 27, 2005 7:32 AM
  • User312458029 posted

    Thomas Annerel.  you are a genius.  i cant express enough gratitude.  thank-you very much.

    this problem has been bugging me for months.  when i first looked at this in may typing "uipab 2.0 asp.net 2.0" revealed very little.  now typing that brings me directly to your excellent fix.

    i still cant find anything on the ms website.  does this mean that very few people are using uipab 2.0 on asp.net 2.0 or did it miss it somehow.?

    thanks once again. im indebted to you.

    kind regards Jason Trott.

    Friday, January 20, 2006 12:08 PM
  • User1114202018 posted

    Hi,

     I have done UIP 2.0 in asp.net 1.1 but whaen I try to do in asp.net 2.0 It is throwing a error that Assembly Can not load.........

     can u please send a Sample which is u done UIP 2.0 with asp.net 2.0 to dotsha@gmail.com please do the needful..........

    Tuesday, February 14, 2006 1:24 AM
  • User-1758944929 posted
    Just thought I'd drop in and say that I had this same problem this week with full release .NET 2.0 as I was trying to build a win app with Visual Basic 2005 Express Edition. The above fix does not appear to have worked for me, though.

    It seems Microsoft have not got around to addressing this yet or even mentioning it as a known issue (as far as I can see). One person in a different forum commented on the possibilty of the UIPAB being dropped in favour of the Composite Application Block but so far I do not know if this is true.

    I think this thread will prove to be very valuable.
    Thursday, March 16, 2006 6:11 PM
  • User1865281272 posted

    Does anyone have a web sample application working for Visual Studio 2005 and asp.net 2?

    I have tried several samples; however, when I convert the app from VS 2003 to Visual Studio 2005, I get various errors.  If anyone can send me a VS 2005 UIPAB working sample; I would be very grateful if you send the app to my email chapamanuel@yahoo.com

     

    Thanks!

    Tuesday, June 13, 2006 12:38 AM
  • User-1083227149 posted

    chapamanuel / anyone :

     

    I too would be very interested in any working examples / code samples for the above. Could anyone oblige ??

     

    Please mailto: graham@cooke61.wanadoo.co.uk or reply on here.

     

    thankyou !

     

     

    Tuesday, June 27, 2006 5:13 AM
  • User720354895 posted

    i have successfully implemented uip 2.0 with a asp.net 2.0 application.

    edit  Code\Microsoft.ApplicationBlocks.UIProcess\UIPConfigSchema.xsd

    <?xml version="1.0" encoding="utf-8" ?>
    <xs:schema elementFormDefault="unqualified" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema">
      <xs:complexType name="sharedTransitions">
        <xs:sequence>
          <xs:element name="sharedTransition" minOccurs="1" maxOccurs="unbounded">
            <xs:complexType>
              <xs:sequence></xs:sequence>
              <xs:attribute name="navigateValue" type="xs:string" use="required" />
              <xs:attribute name="navigateTo" type="xs:string" use="required" />
            </xs:complexType>
          </xs:element>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="view">
        <xs:sequence>
          <xs:any minOccurs="0" processContents="skip" />
        </xs:sequence>
        <xs:attribute name="name" type="xs:string" use="required" />
        <xs:attribute name="type" type="xs:string" use="required" />
        <xs:attribute name="controller" type="xs:string" use="required" />
        <xs:attribute name="stayOpen" type="xs:boolean" use="optional" />
        <xs:attribute name="openModal" type="xs:boolean" use="optional" />
        <xs:attribute name="layoutManager" type="xs:string" use="optional" />
        <xs:attribute name="floatable" type="xs:boolean" use="optional" />
        <xs:attribute name="canHaveFloatingWindows" type="xs:boolean" use="optional" />
        <xs:anyAttribute processContents="skip" />
      </xs:complexType>
      <xs:element name="uipConfiguration">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="objectTypes" minOccurs="1" maxOccurs="1">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="iViewManager" minOccurs="1" maxOccurs="unbounded">
                    <xs:complexType>
                      <xs:sequence></xs:sequence>
                      <xs:attribute name="name" type="xs:string" use="required" />
                      <xs:attribute name="type" type="xs:string" use="required" />
                      <xs:attribute name="default" type="xs:boolean" default="false" use="optional" />
                    </xs:complexType>
                  </xs:element>
                  <xs:element name="state" minOccurs="1" maxOccurs="unbounded">
                    <xs:complexType>
                      <xs:sequence />
                      <xs:attribute name="name" type="xs:string" use="required" />
                      <xs:attribute name="type" type="xs:string" use="required" />
                      <xs:attribute name="default" type="xs:boolean" default="false" use="optional" />
                    </xs:complexType>
                  </xs:element>
                  <xs:element name="controller" minOccurs="1" maxOccurs="unbounded">
                    <xs:complexType>
                      <xs:sequence></xs:sequence>
                      <xs:attribute name="name" type="xs:string" use="required" />
                      <xs:attribute name="type" type="xs:string" use="required" />
                    </xs:complexType>
                  </xs:element>
                  <xs:element name="statePersistenceProvider" minOccurs="1" maxOccurs="unbounded">
                    <xs:complexType>
                      <xs:sequence></xs:sequence>
                      <xs:attribute name="name" type="xs:string" use="required" />
                      <xs:attribute name="type" type="xs:string" use="required" />
                      <xs:attribute name="default" type="xs:boolean" default="false" use="optional" />
                      <xs:anyAttribute processContents="skip" />
                    </xs:complexType>
                  </xs:element>
                  <!--xs:any maxOccurs="unbounded" minOccurs="0" processContents="skip" /-->
                </xs:sequence>
                <!--xs:anyAttribute processContents="skip" /-->
              </xs:complexType>
            </xs:element>
            <xs:element name="views" minOccurs="1" maxOccurs="1">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="view" type="view" minOccurs="1" maxOccurs="unbounded" />
                </xs:sequence>
              </xs:complexType>
            </xs:element>
            <xs:element name="sharedTransitions" type="sharedTransitions" minOccurs="0" maxOccurs="1"></xs:element>
            <xs:element name="navigationGraph" minOccurs="0" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="sharedTransitions" type="sharedTransitions" minOccurs="0" maxOccurs="1"></xs:element>
                  <xs:element name="node" minOccurs="1" maxOccurs="unbounded">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="navigateTo" minOccurs="1" maxOccurs="unbounded">
                          <xs:complexType>
                            <xs:sequence />
                            <xs:attribute name="navigateValue" type="xs:string" use="required" />
                            <xs:attribute name="view" type="xs:string" use="required" />
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                      <xs:attribute name="view" type="xs:string" use="required" />
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:attribute name="name" type="xs:string" use="required" />
                <xs:attribute name="startView" type="xs:string" use="required" />
                <xs:attribute name="endView" type="xs:string" use="optional" />
                <xs:attribute name="state" type="xs:string" use="required" />
                <xs:attribute name="statePersist" type="xs:string" use="required" />
                <xs:attribute name="iViewManager" type="xs:string" use="required" />
                <xs:attribute name="cacheExpirationInterval" type="xs:string" use="optional" />
                <xs:attribute name="cacheExpirationMode" type="xs:string" use="optional" />
                <xs:attribute name="runInWizardMode" type="xs:string" use="optional" />
              </xs:complexType>
            </xs:element>
            <xs:element name="uipWizard" minOccurs="0" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="sequence" minOccurs="1" maxOccurs="unbounded">
                    <xs:complexType>
                      <xs:attribute name="view" type="xs:string" use="required"></xs:attribute>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:attribute name="name" type="xs:string" use="required" />
              </xs:complexType>
            </xs:element>
            <xs:element name="userControls" minOccurs="0" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="form" minOccurs="1" maxOccurs="unbounded">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="childView" minOccurs="1" maxOccurs="unbounded">
                          <xs:complexType>
                            <xs:sequence />
                            <xs:attribute name="name" type="xs:string" use="required" />
                            <xs:attribute name="viewName" type="xs:string" use="required" />
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                      <xs:attribute name="name" type="xs:string" use="required" />
                      <xs:attribute name="initialView" type="xs:string" use="optional" />
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
                <xs:attribute name="name" type="xs:string" use="required" />
                <xs:attribute name="startForm" type="xs:string" use="required" />
                <xs:attribute name="state" type="xs:string" use="required" />
                <xs:attribute name="statePersist" type="xs:string" use="required" />
                <xs:attribute name="iViewManager" type="xs:string" use="required" />
                <xs:attribute name="cacheExpirationInterval" type="xs:string" use="optional" />
                <xs:attribute name="cacheExpirationMode" type="xs:string" use="optional" />
              </xs:complexType>
            </xs:element>
          </xs:sequence>
          <xs:attribute name="enableStateCache" type="xs:boolean" use="optional" />
          <xs:attribute name="cacheExpirationInterval" type="xs:string" use="optional" />
          <xs:attribute name="cacheExpirationMode" type="xs:string" use="optional" />
          <xs:attribute name="allowBackButton" type="xs:boolean" use="optional" />
        </xs:complexType>
      </xs:element>
    </xs:schema>

    Tuesday, July 18, 2006 11:12 PM
  • User471566477 posted

    Hi Guys,

    What exactly do you mean by putting the controllers in a separate assembly?
    The controllers we make must reference the UIProcess.dll to do their jobs, but then how can the UIProcess project refer to the controllers?
    Also, We've made a separate solution for the app we're making, just adding a ref to the UIProcess, UIData. Separating out controllers, would not that mean you's have to put it all in one solution?

    Rune

    Sunday, September 3, 2006 6:19 PM
  • User-1345692406 posted

    Hi,

    Need help.

    Getting this error below. Don't know what to do....

    <<2008-10-14 12:07:37:111 PM
    Configuration error in the Web.Config file of the specific UIP
    Thread was being aborted.
       at Microsoft.ApplicationBlocks.UIProcess.GraphNavigator.Navigate(String nextNode)
       at Microsoft.ApplicationBlocks.UIProcess.ControllerBase.Navigate(String navigateValue)
       at Genoa3.UIPCommon.Controllers.Base.RootControllerBase.Navigate(String navigateValue) in D:\Genoa\mainline\APPLICATION\UIPCommon\Controllers\Base\RootControllerBase.cs:line 63
    >>

    Please advise.

    thanks for the help.

    Tuesday, October 14, 2008 11:33 AM
  • User2023944983 posted

    I ran into similar problem after upgrading  from  UIP1.0 (.net 1.1) to UIP2.0 on .NET 2.0.  I did follow all the suggestions like commenting lines on UIPConfigSchema.xsd and re-compile UIP and Data app blocks code and reference them in my application.  But none of them helped me.

     

    here is the error log

    Parser Error Message: An error occurred creating the configuration section handler for uipConfiguration: Wildcard '##any' allows element 'statePersistenceProvider', and causes the content model to become ambiguous. A content model must be formed such that during validation of an element information item sequence, the particle contained directly, indirectly or implicitly therein with which to attempt to validate each item in the sequence in turn can be uniquely determined without examining the content or attributes of that item, and without any information about the items in the remainder of the sequence.

    Source Error:

    Line 112:    <add key="Maintenance Mode" value="off" />
    Line 113:  </appSettings>
    Line 114:  <uipConfiguration enableStateCache="true">
    Line 115:    <objectTypes>
    Line 116:      <iViewManager name="WebFormViewManager" type="Microsoft.ApplicationBlocks.UIProcess.WebFormViewManager,&#xD;&#xA;      Microsoft.ApplicationBlocks.UIProcess,Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />


    Source File: C:\dev\rnadam_OFM_2008\BroadWorksGateway\src\XO\testflexportal\web.config    Line: 114

    Tuesday, May 11, 2010 1:51 PM