1

我在使用 WCF 野兽的 WPF 项目中实现了成员资格,我使用客户端应用程序服务来使用 ASP.Net Membership Provider

但是每当我使用不支持指定方法之类的会员功能时,我都会收到错误消息。,虽然它在登录时进行用户验证,

我在我的 web.config 文件中完成了配置,但似乎没有任何解决方法。

<connectionStrings>
    <clear/>
    <add name="MTMSConnection" connectionString="data source=***;initial catalog=MTMS;user id=****;password=****;multipleactiveresultsets=True" providerName="System.Data.SqlClient"/>
    <add name="MTMSEntities" connectionString="metadata=res://*/MTMSModel.csdl|res://*/MTMSModel.ssdl|res://*/MTMSModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=****;initial catalog=MTMS;user id=**;password=****;multipleactiveresultsets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
  </connectionStrings>

 <system.web>
    <authentication mode="Forms" />
    <membership defaultProvider="MTMSProvider">
      <providers>
        <clear />
        <add name="MTMSProvider"
        type="System.Web.Security.SqlMembershipProvider"
        connectionStringName="MTMSConnection"
        minRequiredNonalphanumericCharacters="0"
        requiresQuestionAndAnswer="false"
        enablePasswordRetrieval="false"
        enablePasswordReset="false"
        passwordFormat="Hashed"
        requiresUniqueEmail="false"
        applicationName="MTMS" />
      </providers>
    </membership>
    <roleManager enabled="true" defaultProvider="MTMSRoleProvider">
      <providers>
        <clear />
        <add name="MTMSRoleProvider"
        connectionStringName="MTMSConnection"
        applicationName="MTMS"
        type="System.Web.Security.SqlRoleProvider" />
      </providers>
    </roleManager>
  </system.web>


<system.web.extensions>
    <scripting>
      <webServices>
        <authenticationService enabled="true" />
        <roleService enabled="true"/>
      </webServices>
    </scripting>
  </system.web.extensions>




<services>
      <service name="MTMS.Services.MTMSService"
               behaviorConfiguration="serviceBehavior">
        <endpoint name="wsHttpWellthService"
                  address=""
                  binding="wsHttpBinding"
                  bindingConfiguration="wsHttpBinding"
                  contract="MTMS.Services.Contracts.IMTMSService"/>
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
      </service>
    </services>





<behaviors>
      <serviceBehaviors>
        <behavior name="serviceBehavior">
          <serviceCredentials>
            <userNameAuthentication
            userNamePasswordValidationMode="MembershipProvider"
            membershipProviderName="MTMSProvider" />
          </serviceCredentials>
          <dataContractSerializer maxItemsInObjectGraph="2147483647" />
          <serviceThrottling maxConcurrentCalls="120" maxConcurrentSessions="120"
                             maxConcurrentInstances="120" />
          <serviceMetadata httpGetEnabled="true" />
          <serviceDebug includeExceptionDetailInFaults="true" />
          <useRequestHeadersForMetadataAddress>
            <defaultPorts>
              <add scheme="http" port="81" />
              <add scheme="https" port="444" />
            </defaultPorts>
          </useRequestHeadersForMetadataAddress>
        </behavior>
      </serviceBehaviors>
    </behaviors>

我在配置中犯了任何错误吗?


只需要一行代码,

var objRole=  Roles.GetAllRoles();

堆栈跟踪 说:

 at System.Web.ClientServices.Providers.ClientRoleProvider.GetAllRoles()
   at System.Web.Security.Roles.GetAllRoles()
   at MTMSWPF.AdminUserControls.UCRole.GetAllRoles() in C:\VSS Working Folder\MTMS\CODE\DEVELOPMENT\MTMS\MTMS.root\MTMS\MTMSWPF\AdminUserControls\UCRole.xaml.cs:line 45
   at MTMSWPF.AdminUserControls.UCRole..ctor() in C:\VSS Working Folder\MTMS\CODE\DEVELOPMENT\MTMS\MTMS.root\MTMS\MTMSWPF\AdminUserControls\UCRole.xaml.cs:line 33
   at MTMSWPF.AdminUserControls.UCViewAllEmployee.btnEdit_Click(Object sender, RoutedEventArgs e) in C:\VSS Working Folder\MTMS\CODE\DEVELOPMENT\MTMS\MTMS.root\MTMS\MTMSWPF\AdminUserControls\UCViewAllEmployee.xaml.cs:line 64
   at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
   at System.Windows.UIElement.RaiseEvent(RoutedEventArgs e)
   at System.Windows.Controls.Primitives.ButtonBase.OnClick()
   at System.Windows.Controls.Button.OnClick()
   at System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
   at System.Windows.UIElement.OnMouseLeftButtonUpThunk(Object sender, MouseButtonEventArgs e)
   at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
   at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
   at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   at System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
   at System.Windows.UIElement.OnMouseUpThunk(Object sender, MouseButtonEventArgs e)
   at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
   at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
   at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
   at System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
   at System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)
   at System.Windows.Input.InputManager.ProcessStagingArea()
   at System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
   at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
   at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
   at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
   at System.Windows.Threading.Dispatcher.InvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
   at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
   at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
   at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
   at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
   at System.Windows.Application.RunDispatcher(Object ignore)
   at System.Windows.Application.RunInternal(Window window)
   at System.Windows.Application.Run(Window window)
   at System.Windows.Application.Run()
   at MTMSWPF.App.Main() in C:\VSS Working Folder\MTMS\CODE\DEVELOPMENT\MTMS\MTMS.root\MTMS\MTMSWPF\obj\x86\Debug\App.g.cs:line 0
   at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
   at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
   at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
   at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()
4

0 回答 0