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:
- Microsoft Pre-Release Software Microsoft .NET Framework 3.5 – Beta 1
[Visual Studio Codename "Orcas" Beta 1 Readme](https://download.microsoft.com/download/9/f/7/9f79d1d8-72fd-407c-88f7-d2254eb4e0ad/VSNETSDKcontents.htm)
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 menuThe 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 DesktopWhen 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:
- Open the property pages for the
Web sites - 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.- Open the property pages for the
Visual Basic LINQ in Windows Communication Foundation (WCF) Projects and
through MSBuild: Option Infer is not propagatedLINQ 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:
- Open a command prompt and
navigate to the location where the Orcas executable is located, typically
%ProgramFiles%\Microsoft Visual Studio 9.0\Common7\IDE. - Run vsdiag_regwcf.exe –i
- The command will output
"Command completed successfully." if WCF debugging was
successfully enabled.
To disable WCF debugging:
- Open a command prompt and
navigate to the location where the Orcas executable is located, typically
%ProgramFiles%\Microsoft Visual Studio 9.0\Common7\IDE. - Run vsdiag_regwcf.exe –u
- The command will output
"Command completed successfully." if WCF debugging was
successfully disabled.
To determine whether WCF debugging is enabled:
Open a command prompt and
navigate to the location where the Orcas executable is located, typically
%ProgramFiles%\Microsoft Visual Studio 9.0\Common7\IDE.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.
- Stepping from a WCF client into
Some WCF samples that ship with the .NET Framework 3.5 SDK (Orcas Beta 1)
are broken and will not runThe 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
operationsThe 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 operationsIn 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, "https://example.com/myService.svc") or
at endpoints with URLs that end with an additional suffix (for example,
"https://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 modeIn 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:Navigate to:
%windir%\Microsoft.NET\Framework64\v2.0.50727\CONFIG\machine.config in any
text editor, such as Notepad.exeAdd 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 1Windows XP, Windows 2003
- Open a command prompt and
navigate to the %systemdrive%\Inetpub\AdminScripts directory. - Type the following command:
cscript.exe adsutil.vbs set W3SVC/AppPools/Enable32BitAppOnWin64
"true" - Press ENTER
- Enable 32-bit aspnet by using
%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe –i –enable - Reset iis by using iisreset
Windows Vista
Open a command prompt and
navigate to the %systemdrive%\Inetpub\AdminScripts directory.Type the following command:
cscript.exe adsutil.vbs set W3SVC/AppPools/Enable32BitAppOnWin64 trueNote: 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.Press ENTER
B. Update %windir%\Microsoft.NET\Framework64\v2.0.50727\CONFIG\web.config
by adding the following: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"/>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"/>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 installedThe 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 runThe 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 endpointsAlthough 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".
Comments
Anonymous
April 30, 2007
PingBack from http://techsavygal.wordpress.com/2007/04/30/dotnet-framework-35-beta-1-is-released/Anonymous
June 08, 2007
Ok, so the title of the post probably rules out a lot of people but if you are playing with the WCF bits...