Welcome to MSDN Blogs Sign in | Join | Help

Orcas Beta 1 Released

The first full public beta of the .NET Framework 3.5 came out Friday night. Here are the downloads to get:

Here are the known issues with the release that apply to WCF:

  • wcfSvchost.exe requires Administrator permissions

    The wcfSvcchost.exe tool requires administrator permissions to run. The Windows Communication Foundation service library template in Orcas will not run correctly if wcfSvchost.exe is not available.

    To resolve this issue:

    Run Orcas under an Administrator account when you author services by using wcfSvchost.exe.

  • Windows Communication Foundation (WCF) Service Configuration Editor does not exist on the Orcas Tools menu

    The svcConfigEditor.exe is not available on the Tools menu of Orcas. The tool cannot be started from the IDE.

    To resolve this issue:

    Install the Windows SDK, which includes the editor. The svcConfigEditor.exe is located on the Windows Start menu.

  • Consuming an ASMX or Windows Communication Foundation (WCF) service for a file-based Web site or application requires NTLM credentials when the user is a not an administrator and is using Remote Desktop

    When you use a Web site or application over a Remote Desktop as non-Admin, NTLM authentication is automatically enabled. Therefore, when an ASMX or WCF service is consumed, the following error occurs:

    "The HTTP request is unauthorized with client authentication scheme 'Anonymous'. The authentication header received from the server was 'NTLM'."

    To resolve this issue:

    1. Open the property pages for the Web sites
    2. In the Start Options tab, uncheck NTLM Authentication

    Note: This is only advised for Web sites that exclusively have WCF services. WCF services security is managed through the configuration in the web.config file, which makes NTLM Authentication unnecessary.

  • Visual Basic LINQ in Windows Communication Foundation (WCF) Projects and through MSBuild: Option Infer is not propagated

    LINQ relies on a new feature called Local Variable Type Inference to implicitly infer strongly-typed local variables based on the value of the right-hand side of an assignment. This feature is controlled by a compiler setting, Option Infer, which by default is on for most new projects. In WCF projects and in MSBuild compilations, the setting for Option Infer is not propagated.

    To resolve this issue:

    Put "Option Infer On" at the top of all source files that use LINQ.

  • Windows Communication Foundation (WCF) debugging is not enabled by default

    By default, the debugging of WCF Services is not enabled in Orcas because that would break some important non-debugging scenarios, including partial trust HTTP hosting of services and Workflow-first authored services.

    As a result, the following debugging scenarios are not enabled out of the box:

    • Stepping from a WCF client into a WCF server
    • Stepping back to the WCF client after a server call completes
    • Getting a logical callstack showing the WCF client and WCF service stack
    • Auto-attaching to WCF services invoked by the WCF client.

    To resolve this issue:

    Orcas provides a tool to enable and disable the debugging of WCF client-service applications.

    To enable WCF debugging:

    1. Open a command prompt and navigate to the location where the Orcas executable is located, typically %ProgramFiles%\Microsoft Visual Studio 9.0\Common7\IDE.
    2. Run vsdiag_regwcf.exe –i
    3. The command will output "Command completed successfully." if WCF debugging was successfully enabled.

    To disable WCF debugging:

    1. Open a command prompt and navigate to the location where the Orcas executable is located, typically %ProgramFiles%\Microsoft Visual Studio 9.0\Common7\IDE.
    2. Run vsdiag_regwcf.exe –u
    3. The command will output "Command completed successfully." if WCF debugging was successfully disabled.

    To determine whether WCF debugging is enabled:

    1. Open a command prompt and navigate to the location where the Orcas executable is located, typically %ProgramFiles%\Microsoft Visual Studio 9.0\Common7\IDE.
    2. Run vsdiag_regwcf.exe –s
      This is a sample of the command's output:

      Microsoft (R) Visual Studio (R) Diagnostics WCF Registration tool - Version 9.0.20104.0
      (C) Microsoft Corporation. All rights reserved.

      Current status .NET Framework configuration file

      Registered D:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\config\machine.config

      Command completed successfully.
  • Some WCF samples that ship with the .NET Framework 3.5 SDK (Orcas Beta 1) are broken and will not run

    The following WCF samples will not work on Orcas:

    • TechnologySamples\Basic\Binding\Net\Msmq\Batching
    • TechnologySamples\Basic\Binding\WS\DualHttp
    • TechnologySamples\Basic\Contract\Service\Duplex
    • TechnologySamples\Basic\Service\Hosting\WASHost\NamedPipeActivation
    • TechnologySamples\Scenario\RestPox (issues on Windows Vista)
    • TechnologySamples\Scenario\DataBinding\WPF
    • TechnologySamples\Scenario\RichClient
    • TechnologySamples\Extensibility\ErrorHandling
    • TechnologySamples\Extensibility\Metadata\Custom WSDL publication
    • TechnologySamples\Extensibility\Channels\CustomChannelDispatcher

    To resolve this issue:

    To run these samples, use .NET Framework 3.0.

  • The WebScriptServiceHostFactory class does not work with HTTP GET operations

    The WebScriptServiceHostFactory class is designed to enable Windows Communication Foundation services to be used to serve data to AJAX-enabled Web pages without having to write WCF configuration settings. In this Orcas release, the WebScriptServiceHostFactory class does not work with WCF operations that have been configured so that the HttpTransferContractAttribute attribute uses the HTTP GET verb. You may get an error about an AddressFilter mismatch if you attempt to use it with such operations.

    To resolve this issue:

    Avoid using HTTP GET operations and use HTTP POST instead. If this is impossible, then instead of using the WebScriptServiceHostFactory, create a WCF configuration section in web.config or another configuration file as appropriate and then use it to enable an AJAX endpoint. (Also see note 2.4.15 about endpoint URLs that end directly with ".svc".)

  • Windows Communication Foundation (WCF) AJAX endpoints at URLs immediately ending with ".svc" do not work with HTTP GET operations

    In this release, it is possible to use the Windows Communication Foundation to write IIS-hosted services that can be consumed from AJAX-enabled Web pages. These services can be hosted at endpoints with URLs that end directly with ".svc" (for example, "http://example.com/myService.svc") or at endpoints with URLs that end with an additional suffix (for example, "http://example.com/myService.svc/myEndpoint"). In this release, the URLs without a suffix do not work with WCF operations that have been configured with the HttpTransferContractAttribute attribute to use the HTTP GET verb, unless a workaround is applied. You may get an error about an AddressFilter mismatch if you try to use such URLs with GET operations.

    To resolve this issue:

    There are three ways to resolve this issue.

    • Use URLs with suffixes, and remember to include the suffix if you are using such a URL in the ASP.NET AJAX Script Manager control.
    • Avoid using HTTP GET operations and use HTTP POST instead.
    • Disable the service help page to resolve the issue. This can be accomplished by adding the following service behavior to the <behaviors> section of WCF config:
      <serviceBehaviors>
          <behavior name="noHelpPage">
              <serviceDebug httpHelpPageEnabled="false"/>
          </behavior>
      </serviceBehaviors>
      Add it to your service (i.e. <service behaviorConfiguration="noHelpPage" …>) in the <services> section).
  • Adding a Windows Communication Foundation (WCF) service to the ASP.NET AJAX Script Manager Control does not work in Script Inlining mode

    In this release, it is possible to use the Windows Communication Foundation to write services that can be consumed from AJAX-enabled pages. To work with the ASP.NET AJAX framework, references to such WCF services must be added to the Script Manager control. The Script Manager control enables you to inline service references by setting the InlineScript property to "true" on a particular service reference in the Services collection. In this release, WCF services are incompatible with the InlineScript="true" mode. You may get an InvalidCastException if you attempt to use this mode.

    To resolve this issue:

    Set the InlineScript property for all WCF services in the Script Manager control to "false".

  • Modifications required to support 64bit applications that use WF or WCF

    To support native 64bit applications that use WF or WCF, manual modifications to the configuration are required.

    To resolve this issue:

    For selfhosted applications, the following modification to machine.config is required:

    1. Navigate to: %windir%\Microsoft.NET\Framework64\v2.0.50727\CONFIG\machine.config in any text editor, such as Notepad.exe
    2. Add the following content at the end of the file just before </configuration>
      <system.serviceModel> 
          <extensions> 
              <behaviorExtensions> 
                  <add name="persistenceProvider" type="System.ServiceModel.Configuration.PersistenceProviderElement, System.WorkflowServices, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> 
                  <add name="workflowRuntime" type="System.ServiceModel.Configuration.WorkflowRuntimeElement, System.WorkflowServices, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> 
                  <add name="enableWebScript" type="System.ServiceModel.Configuration.WebScriptEnablingElement, System.ServiceModel.Web, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> 
                  <add name="syndication" type="System.ServiceModel.Configuration.SyndicationElement, System.ServiceModel.Web, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> 
              </behaviorExtensions> 
              <bindingElementExtensions> 
                  <add name="jsonMessageEncoding" type="System.ServiceModel.Configuration.JsonMessageEncodingElement, System.ServiceModel.Web, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> 
                  <add name="context" type="System.ServiceModel.Configuration.ContextBindingElementExtensionElement, System.WorkflowServices, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> 
              </bindingElementExtensions> 
              <bindingExtensions> 
                  <add name="wsHttpContextBinding" type="System.ServiceModel.Configuration.WSHttpContextBindingCollectionElement, System.WorkflowServices, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> 
                  <add name="netTcpContextBinding" type="System.ServiceModel.Configuration.NetTcpContextBindingCollectionElement, System.WorkflowServices, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> 
                  <add name="webHttpBinding" type="System.ServiceModel.Configuration.WebHttpBindingCollectionElement, System.ServiceModel.Web, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> 
              </bindingExtensions> 
          </extensions> 
          <client> 
              <metadata> 
                  <policyImporters> 
                      <extension type="System.ServiceModel.Channels.ContextBindingElementImporter, system.workflowservices, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"/> 
                  </policyImporters> 
                  <wsdlImporters> 
                      <extension type="System.ServiceModel.Channels.ContextBindingElementImporter, system.workflowservices, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"/> 
                  </wsdlImporters> 
              </metadata> 
          </client>
      </system.serviceModel>

    For applications hosted within IIS, there are two possible workarounds:

    A. Configure IIS to run in WOW mode:
    cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1

    Windows XP, Windows 2003

    1. Open a command prompt and navigate to the %systemdrive%\Inetpub\AdminScripts directory.
    2. Type the following command: cscript.exe adsutil.vbs set W3SVC/AppPools/Enable32BitAppOnWin64 "true"
    3. Press ENTER
    4. Enable 32-bit aspnet by using %windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe –i –enable
    5. Reset iis by using iisreset

    Windows Vista

    1. Open a command prompt and navigate to the %systemdrive%\Inetpub\AdminScripts directory.
    2. Type the following command: cscript.exe adsutil.vbs set W3SVC/AppPools/Enable32BitAppOnWin64 true
      Note: If this script is not already available, turn on Internet Information Services, Web Management Tools, IIS 6 Management Compatibility, IIS 6 Scripting Tools. This will place the scripts in the above mentioned location.
    3. Press ENTER

    B. Update %windir%\Microsoft.NET\Framework64\v2.0.50727\CONFIG\web.config by adding the following:

    1. Add the following to the end of the Xml element "system.web/compilation/assemblies":
      <add assembly="System.ServiceModel.Web, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
      <add assembly="System.WorkflowServices, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
    2. Add the following to the end of the xml element "system.web/compilation/buildProviders":
      <add extension=".xoml" type="System.ServiceModel.Activation.WorkflowServiceBuildProvider, System.WorkflowServices, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
    3. Add the following to the beginning to the xml element "system.web/httpHandlers":
      <add path="*.rules" verb="*" type="System.Web.HttpForbiddenHandler" validate="true"/>
      <add path="*.xoml" verb="*" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" validate="false"/>
  • Windows Communication Foundation (WCF) Samples setup script Setupvroot.bat will not work on Windows Vista if the NetMsmqActivator service is enabled and Message Queuing (MSMQ) is not installed

    The iisreset utility does not work unless MSMQ is installed or the NetMsmqActivator service is disabled. The WCF Samples setup script Setupvroot.bat will not run unless MSMQ is installed or the NetMsmqActivator service is disabled.

    To resolve this issue:

    Make sure that MSMQ is installed or disable the NetMsmqActivator service on Windows Vista before you run the WCF Samples setup script Setupvroot.bat.

  • Only the online version of the Windows Communication Foundation (WCF) and Workflow Foundation (WF) samples for .NET Framework 3.5 will compile and run

    The offline WCF and WF samples that are included with Orcas Beta 1 do not compile or run.

    To resolve this issue:

    Download the online versions of the Orcas Beta 1 samples for .NET Framework 3.5.

  • Service Model Metadata Utility Tool (SvcUtil.exe) Can Throw InvalidChannelBindingException when importing WSDL from certain endpoints

    Although Windows Communication Foundation (WCF) allows the setting of the ReliableSession Binding Element InactivityTimeout or AcknowledgementInterval properties to TimeSpan.MaxValue, WCF will not consume WSDL generated by an endpoint with such settings. Instead, the import will fail and SvcUtil.exe will throw an InvalidChannelBindingException.

    To resolve this issue:

    After you download the WSDL, manually change the TimeSpan.MaxValue to 2147483647 (Int32.MaxValue). Then, in the generated configuration file, change the inactivityTimeout or acknowledgementInterval attribute from "24.20:31:23.6470000" to "Infinite".

Published Monday, April 30, 2007 5:00 AM by Nicholas Allen
Filed under: ,

Comments

# DotNet Framework 3.5 Beta 1 is released!!!! &laquo; Its my Place at my Pace&#8230;.

Friday, June 08, 2007 12:05 PM by Mike Taulty's Blog

# VS 2008/&quot;Orcas&quot; Beta 1 and WCF POX Endpoints in IIS over HTTP GET

Ok, so the title of the post probably rules out a lot of people but if you are playing with the WCF bits...

New Comments to this post are disabled
 
Page view tracker