<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Govind's WebLog</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/govindr/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/govindr/feed.xml</link>
    <description />
    <lastBuildDate>Wed, 17 Apr 2019 03:20:58 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Patterns and Practices: WCF Security Guidance available online</title>
      <link>https://docs.microsoft.com/archive/blogs/govindr/patterns-and-practices-wcf-security-guidance-available-online</link>
      <pubDate>Tue, 01 Apr 2008 16:00:00 GMT</pubDate>
      <dc:creator><![CDATA[govindr]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/govindr/2008/04/01/patterns-and-practices-wcf-security-guidance-available-online/</guid>
      <description><![CDATA[The Microsoft Patterns and Practices team has created a guide for WCF security....]]></description>
      <content:encoded><![CDATA[<P><FONT face=Cambria>The Microsoft Patterns and Practices team has created a guide for WCF security. </FONT></P>
<P><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Cambria','serif'; mso-ascii-theme-font: major-latin; mso-hansi-theme-font: major-latin"><A href="https://blogs.msdn.com/jmeier/archive/2008/03/27/patterns-and-practices-wcf-security-guidance-now-available.aspx" mce_href="https://blogs.msdn.com/jmeier/archive/2008/03/27/patterns-and-practices-wcf-security-guidance-now-available.aspx">https://blogs.msdn.com/jmeier/archive/2008/03/27/patterns-and-practices-wcf-security-guidance-now-available.aspx</A><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Cambria','serif'; mso-ascii-theme-font: major-latin; mso-hansi-theme-font: major-latin">You can find more information at the root site</SPAN></P>
<P><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Cambria','serif'; mso-ascii-theme-font: major-latin; mso-hansi-theme-font: major-latin"><A href="https://www.codeplex.com/WCFSecurity/" mce_href="https://www.codeplex.com/WCFSecurity/">https://www.codeplex.com/WCFSecurity/</A><o:p></o:p></SPAN></P>]]></content:encoded>
    </item>
    <item>
      <title>503 Server Unavailable failure with IIS 7.0</title>
      <link>https://docs.microsoft.com/archive/blogs/govindr/503-server-unavailable-failure-with-iis-7-0</link>
      <pubDate>Thu, 30 Aug 2007 14:22:00 GMT</pubDate>
      <dc:creator><![CDATA[govindr]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/govindr/2007/08/30/503-server-unavailable-failure-with-iis-7-0/</guid>
      <description><![CDATA[When working with IIS 7.0 in Vista if you are seeing this failure trying to access the webserver,...]]></description>
      <content:encoded><![CDATA[<P>When working with IIS 7.0 in Vista if you are seeing this failure trying to access the webserver, there are couple of things to look for. </P>
<P>&nbsp;1. Check if the Application Pool is running. You can click on the Application Pools option on the Left Pane of IIS 7.0 and check all running App pools.</P>
<P>2. You might have the URL <A href="https://+/">https://+:80</A> reserved. Run <EM><STRONG>netsh http show urlacl</STRONG></EM> from a command window. If this shows an output similar to </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp; Reserved URL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : <A href="https://+/">https://+:80/</A><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; User: BUILTIN\IIS_IUSRS<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Listen: Yes<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Delegate: Yes<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; User: BUILTIN\Administrators<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Listen: Yes<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Delegate: Yes<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; User: NT AUTHORITY\NETWORK SERVICE<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Listen: Yes<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Delegate: Yes<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SDDL: D:(A;;GA;;;IS)(A;;GA;;;BA)(A;;GA;;;NS)<BR></P>
<P>Then you have this port reserved which takes precedence over your <A href="https://localhost/">https://localhost</A> calls. Go ahead and remove this URL reservation by running the following command,</P>
<P><EM><STRONG>netsh http delete urlacl url=https://+:80/</STRONG></EM></P>]]></content:encoded>
    </item>
    <item>
      <title>Reliable Messaging and SecurityToken validation</title>
      <link>https://docs.microsoft.com/archive/blogs/govindr/reliable-messaging-and-securitytoken-validation</link>
      <pubDate>Mon, 27 Aug 2007 19:04:00 GMT</pubDate>
      <dc:creator><![CDATA[govindr]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/govindr/2007/08/27/reliable-messaging-and-securitytoken-validation/</guid>
      <description><![CDATA[One of the things that have come up many times is how the service could stop a client from retrying...]]></description>
      <content:encoded><![CDATA[<P class=MsoNormal style="MARGIN: 0in 0in 10pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'">One of the things that have come up many times is how the service could stop a client from retrying a request for a valid security validation error while Reliable Messaging is enabled. If you are not familiar with the situation the essence of the problem is this, <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'">Binding on the Service has Reliable Messaging (RM) enabled. You can do this using WsHttpBinding and setting the ReliableSession.Enabled property&nbsp;to true. What this would mean is that the client will re-try the request when the service responds with any random failure, after a session has been established. By random failure I mean failures that does not close the RM session while sending back the response. A fault sent back with proper RM headers to close the message would not result in a retry of the failed request. Unfortunately all SecurityToken validation and SecurityHeader validation exceptions are treated random exceptions as the response does not contain any required header or is the response secured. <o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'">One of the most common cases when&nbsp;this happens is when RM is enabled and a Username/Password validation fails. WCF&nbsp;provides extensibility points to &nbsp;plug in your Custom Username/Password validator, but any exception from the validator does not close the RM session and hence the client keep retrying the request until it finally times out. The post discusses a work around to&nbsp;close the RM session when such failures occur.<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'">Write a Custom Username/Password Authenticator and plug this into the service using a Custom ServiceCredentials. The Custom Authenticator should add a specific failure claim to the AuthorizationContext.&nbsp; A sample code for the Custom Username/Password Authenticator is shown below.<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="COLOR: blue">class</SPAN> <SPAN style="COLOR: teal">CustomUsernamePasswordAuthenticator</SPAN> : <SPAN style="COLOR: teal">UserNameSecurityTokenAuthenticator<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>{<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="COLOR: blue">protected</SPAN> <SPAN style="COLOR: blue">override</SPAN> <SPAN style="COLOR: teal">ReadOnlyCollection</SPAN>&lt;<SPAN style="COLOR: teal">IAuthorizationPolicy</SPAN>&gt; ValidateUserNamePasswordCore(<SPAN style="COLOR: blue">string</SPAN> userName, <SPAN style="COLOR: blue">string</SPAN> password)<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>{<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="COLOR: teal">Claim</SPAN> claim = <SPAN style="COLOR: blue">null</SPAN>;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="COLOR: blue">if</SPAN> (<SPAN style="COLOR: teal">String</SPAN>.CompareOrdinal(userName, password) == 0)<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>{<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;</SPAN>claim = <SPAN style="COLOR: teal">Claim</SPAN>.CreateNameClaim(userName);<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>}<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="COLOR: blue">else<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>{<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>claim = <SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: teal">Claim</SPAN>(<SPAN style="COLOR: maroon">"https://contoso.com/InvalidUsernameClaim"</SPAN>, <SPAN style="COLOR: blue">true</SPAN>, <SPAN style="COLOR: teal">Rights</SPAN>.PossessProperty);<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>}<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes"><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="COLOR: teal">List</SPAN>&lt;<SPAN style="COLOR: teal">IAuthorizationPolicy</SPAN>&gt; policies = <SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: teal">List</SPAN>&lt;<SPAN style="COLOR: teal">IAuthorizationPolicy</SPAN>&gt;();<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="COLOR: teal">List</SPAN>&lt;<SPAN style="COLOR: teal">ClaimSet</SPAN>&gt; claimsets = <SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: teal">List</SPAN>&lt;<SPAN style="COLOR: teal">ClaimSet</SPAN>&gt;();<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>claimsets.Add(<SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: teal">DefaultClaimSet</SPAN>(claim));<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>policies.Add(<SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: teal">ClaimFactoryPolicy</SPAN>(claimsets.AsReadOnly()));<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="COLOR: blue">return</SPAN> policies.AsReadOnly();<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>}<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt 0.25in"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>}</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'; mso-fareast-font-family: 'Times New Roman'"><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'">As you can see the above code is adding&nbsp;a specific claim of type <A href="https://contoso.com/InvalidUsernameClaim" mce_href="https://contoso.com/InvalidUsernameClaim"><SPAN style="COLOR: blue; mso-bidi-font-size: 11.0pt">https://contoso.com/InvalidUsernameClaim</SPAN></A> to the AuthorizationContext. For more information on how to plug custom authenticators in WCF you can take a look at <A href="https://msdn2.microsoft.com/en-us/library/ms730079.aspx" mce_href="https://msdn2.microsoft.com/en-us/library/ms730079.aspx"><SPAN style="COLOR: blue; mso-bidi-font-size: 11.0pt">https://msdn2.microsoft.com/en-us/library/ms730079.aspx</SPAN></A>.<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'">The next we would do is to write a Custom Service Authorization Manager (SAM). The SAM gets called when the request has finally passed through all the binding elements so the RM header on the Request has been consumed. When an Access Denied result is returned by the SAM the failure response returned will be returned as Access Denied fault with the RM header enabled in the response that closes the RM session. Our Custom SAML will look for the specific Claim of type <A href="https://contoso.com/InvalidUsernameClaim" mce_href="https://contoso.com/InvalidUsernameClaim"><SPAN style="COLOR: blue; mso-bidi-font-size: 11.0pt">https://contoso.com/InvalidUsernameClaim</SPAN></A> to check whether to Authorize the user or not.<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="COLOR: blue">class</SPAN> <SPAN style="COLOR: teal">CustomServiceAuthorizationManager</SPAN> : <SPAN style="COLOR: teal">ServiceAuthorizationManager<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>{<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="COLOR: blue">public</SPAN> <SPAN style="COLOR: blue">override</SPAN> <SPAN style="COLOR: blue">bool</SPAN> CheckAccess(<SPAN style="COLOR: teal">OperationContext</SPAN> operationContext)<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>{<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="COLOR: teal">ReadOnlyCollection</SPAN>&lt;<SPAN style="COLOR: teal">ClaimSet</SPAN>&gt; claimsets = operationContext.ServiceSecurityContext.AuthorizationContext.ClaimSets;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="COLOR: blue">foreach</SPAN> (<SPAN style="COLOR: teal">ClaimSet</SPAN> claimSet <SPAN style="COLOR: blue">in</SPAN> claimsets)<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>{<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="COLOR: blue">if</SPAN> (claimSet.ContainsClaim(<SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: teal">Claim</SPAN>(<SPAN style="COLOR: maroon">"https://contoso.com/InvalidUsernameClaim"</SPAN>, <SPAN style="COLOR: blue">true</SPAN>, <SPAN style="COLOR: teal">Rights</SPAN>.PossessProperty)))<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>{<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="COLOR: blue">return</SPAN> <SPAN style="COLOR: blue">false</SPAN>;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>}<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>}<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes"><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="COLOR: blue">return</SPAN> <SPAN style="COLOR: blue">true</SPAN>;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>}<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt 0.25in"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>}</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'; mso-fareast-font-family: 'Times New Roman'"><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'">Custom&nbsp;SAM can be&nbsp;plugged into the&nbsp;ServiceCredentials as&nbsp;shown below,<o:p></o:p></SPAN></P><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-no-proof: yes">
<P class=MsoNormal style="MARGIN: 0in 0in 10pt 0.25in"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes">service.Authorization.ServiceAuthorizationManager = <SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: teal">CustomServiceAuthorizationManager</SPAN>();</SPAN></P></SPAN>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'">The fault returned by the Custom SAM will stop the client from retrying when a token validation failure happens on the Service end.<o:p></o:p></SPAN></P>
<P mce_keep="true">&nbsp;</P>]]></content:encoded>
    </item>
    <item>
      <title>Handling Mismatched Trust Versions on the Client</title>
      <link>https://docs.microsoft.com/archive/blogs/govindr/handling-mismatched-trust-versions-on-the-client</link>
      <pubDate>Tue, 21 Aug 2007 17:47:00 GMT</pubDate>
      <dc:creator><![CDATA[govindr]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/govindr/2007/08/21/handling-mismatched-trust-versions-on-the-client/</guid>
      <description><![CDATA[Federation Clients might have scenarios where it is talking to a Service and STS that don't have the...]]></description>
      <content:encoded><![CDATA[Federation Clients might have scenarios where it is talking to a Service and STS that don't have the same trust version. The Service WSDL can contain a RequestSecurityTokenTemplate with Trust elements that are in different version than the STS. In these cases a WCF client will convert the Trust elements received from the Service's RequestSecurityTokenTemplate to match the STS Trust version. WCF will handle mismatched Trust version only for Standard Binding. All algorithm parameters that we recognize as standard are part of the Standard Binding. Below is our behavior under various Trust settings between the Service and the STS. 
<P mce_keep="true">&nbsp;</P>
<P>In the below description RP refers to "Relying Party" or the "Service" and STS refers to "Security Token Service".</P>
<H1>RP Feb 2005 &amp; STS Feb 2005</H1>
<P mce_keep="true">&nbsp;</P>
<P>RP's WSDL contains the following elements in the RequestSecurityTokenTemplate.</P>
<UL>
<LI>1. CanonicalizationAlgorithm</LI>
<LI>2. EncryptionAlgorithm</LI>
<LI>3. EncryptWith</LI>
<LI>4. SignWith</LI>
<LI>5. KeySize</LI>
<LI>6. KeyType</LI></UL>
<P>Client Config contains a list of parameters. </P>
<P mce_keep="true">&nbsp;</P>
<P>WCF cannot differentiate between client and service parameters. We just add all the parameters and send them over the RST.</P>
<H1>RP Trust 1.3 &amp; STS Trust 1.3</H1>
<P mce_keep="true">&nbsp;</P>
<P>RP's WSDL contains the following elements in the RequestSecurityTokenTemplate.</P>
<UL>
<LI>1. CanonicalizationAlgorithm</LI>
<LI>2. EncryptionAlgorithm</LI>
<LI>3. EncryptWith</LI>
<LI>4. SignWith</LI>
<LI>5. KeySize</LI>
<LI>6. KeyType</LI>
<LI>7. KeyWrapAlgorithm</LI></UL>
<P>Client config contains a "secondaryParamters" element that wraps the RP specified parameters. </P>
<P mce_keep="true">&nbsp;</P>
<P>WCF removes the EncryptionAlgorithm, CanonicalizationAlgorithm and KeyWrapAlgorithm from the top-level element under the RST if these are present inside the SecondaryParameters. We append the SecondaryParamters element as is to the outgoing RST. </P>
<P mce_keep="true">&nbsp;</P>
<H1>RP Trust Feb 2005 &amp; STS Trust 1.3</H1>
<P mce_keep="true">&nbsp;</P>
<P>RP's WSDL contains the following elements in the RequestSecurityTokenTemplate.</P>
<UL>
<LI>1. CanonicalizationAlgorithm</LI>
<LI>2. EncryptionAlgorithm</LI>
<LI>3. EncryptWith</LI>
<LI>4. SignWith</LI>
<LI>5. KeySize</LI>
<LI>6. KeyType</LI></UL>
<P>Client Config contains a list of parameters.</P>
<P mce_keep="true">&nbsp;</P>
<P>WCF cannot differentiate between the Service and Client parameters in this case from config on the client side. So we convert all the parameters to Trust 1.3 namespace. </P>
<P mce_keep="true">&nbsp;</P>
<P>Our handling of KeyType, KeySize and TokenType elements in this case is as follows,</P>
<P mce_keep="true">&nbsp;</P>
<UL type=disc>
<LI>We download WSDL and create the binding and assign KeyType, KeySize and TokenType from RP's parameters and the client config is generated.</LI>
<LI>Client can now change any parameter in the config.</LI>
<LI>During Runtime WCF will copy all parameters specified inside the AdditionalTokenParameters section of the client config except KeyType, KeySize and TokenType as they were accounted for during config generation. </LI></UL>
<H1>RP Trust 1.3 &amp; STS Trust Feb 2005</H1>
<P mce_keep="true">&nbsp;</P>
<P>RP's WSDL contains the following elements in the RequestSecurityTokenTemplate.</P>
<UL>
<LI>1. CanonicalizationAlgorithm</LI>
<LI>2. EncryptionAlgorithm</LI>
<LI>3. EncryptWith</LI>
<LI>4. SignWith</LI>
<LI>5. KeySize</LI>
<LI>6. KeyType</LI>
<LI>7. KeyWrapAlgorithm</LI></UL>
<P>Client config contains a "secondaryParamters" element that wraps the RP specified parameters.</P>
<P mce_keep="true">&nbsp;</P>
<P>WCF converts only EncryptionAlgorithm and CanonicalizationAlgorithm specified inside the "SecondaryParameters" and move them as top-level under the RST and replace the client specified values. &nbsp;The "SecondaryParameters" element is dropped from the AdditionalRequestParameters.</P>]]></content:encoded>
    </item>
    <item>
      <title>Security element and "actor" attribute.</title>
      <link>https://docs.microsoft.com/archive/blogs/govindr/security-element-and-actor-attribute</link>
      <pubDate>Tue, 17 Jul 2007 02:15:00 GMT</pubDate>
      <dc:creator><![CDATA[govindr]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/govindr/2007/07/17/security-element-and-actor-attribute/</guid>
      <description><![CDATA[SOAP 1.1 defines the attribute "actor" that can be on any SOAP header which will indicate who the...]]></description>
      <content:encoded><![CDATA[<P>SOAP 1.1 defines the attribute "actor" that can be on any SOAP header which will indicate who the ultimate processor of the header is going to be. It also defines a standard URI value for this actor attribute that is "<A href="https://schemas.xmlsoap.org/soap/actor/next"><FONT color=#0000cc>https://schemas.xmlsoap.org/soap/actor/next</FONT></A>" which implies that the header is intended for the very first SOAP application that processes the message. The absence of the actor attribute would mean the same as well. </P>
<P>SOAP 1.2 renamed this attribute to "role". But the semantics remanis the same as SOAP 1.1.</P>
<P>WCF Security does not recognize this attribute. WCF will not emit this attribute in the Security header element in any messages it emits. If a received message contains a actor attribute in the Security header the header will not be recognized even if the value is set to <FONT color=#0000cc><A href="https://schemas.xmlsoap.org/soap/actor/next">https://schemas.xmlsoap.org/soap/actor/next</FONT></A>. You will see an exception that says "No Security header present in the message.". To work around this do not emit this attribute in the Security header in your messages to WCF.</P>]]></content:encoded>
    </item>
    <item>
      <title>Updated Re-Serialize SAML token</title>
      <link>https://docs.microsoft.com/archive/blogs/govindr/updated-re-serialize-saml-token</link>
      <pubDate>Thu, 03 May 2007 13:57:00 GMT</pubDate>
      <dc:creator><![CDATA[govindr]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/govindr/2007/05/03/updated-re-serialize-saml-token/</guid>
      <description><![CDATA[There has been a lot of interest around this and hence I have attached some code listing to this...]]></description>
      <content:encoded><![CDATA[There has been a lot of interest around this and hence I have attached some code listing to this post. <A class="" href="https://blogs.msdn.com/govindr/archive/2006/10/24/re-serialize-saml-token.aspx" target=_blank mce_href="https://blogs.msdn.com/govindr/archive/2006/10/24/re-serialize-saml-token.aspx">Check it out!</A>]]></content:encoded>
    </item>
    <item>
      <title>WSE VS addin fails to generate WSE proxy in 64-bit machine</title>
      <link>https://docs.microsoft.com/archive/blogs/govindr/wse-vs-addin-fails-to-generate-wse-proxy-in-64-bit-machine</link>
      <pubDate>Wed, 07 Mar 2007 01:42:00 GMT</pubDate>
      <dc:creator><![CDATA[govindr]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/govindr/2007/03/07/wse-vs-addin-fails-to-generate-wse-proxy-in-64-bit-machine/</guid>
      <description><![CDATA[If you are using WSE and are a VS developer, you would be familar with the WSE Visual Studio Addin...]]></description>
      <content:encoded><![CDATA[<P>If you are using WSE and are a VS developer, you would be familar with the WSE Visual Studio Addin that automatically generates WSE Proxy when a Web Reference is added to the project. But if you are a developer in 64-bit machine you will not have this experience due to a bug in WSE setup. It fails to add the necessary entry in devenv.exe.config to enable this automatic generation of proxy. To work around this you can add the following XML to the devenv.exe.config which can be found at %Program Files(x86)%\Microsoft Visual Studio 8\Common7\IDE\devenv.exe.config</P>
<P class=MsoPlainText style="MARGIN: 0in 0in 0pt"><FONT face=Consolas size=3>&lt;configuration&gt;</FONT></P>
<P class=MsoPlainText style="MARGIN: 0in 0in 0pt"><FONT size=3><FONT face=Consolas><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>&lt;system.web&gt;</FONT></FONT></P>
<P class=MsoPlainText style="MARGIN: 0in 0in 0pt"><FONT size=3><FONT face=Consolas><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN>&lt;webServices&gt;</FONT></FONT></P>
<P class=MsoPlainText style="MARGIN: 0in 0in 0pt"><FONT size=3><FONT face=Consolas><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>&lt;soapExtensionImporterTypes&gt;</FONT></FONT></P>
<P class=MsoPlainText style="MARGIN: 0in 0in 0pt"><FONT size=3><FONT face=Consolas><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>&lt;add type="Microsoft.Web.Services3.Description.WseExtensionImporter, Microsoft.Web.Services3, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /&gt;</FONT></FONT></P>
<P class=MsoPlainText style="MARGIN: 0in 0in 0pt"><FONT size=3><FONT face=Consolas><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>&lt;/soapExtensionImporterTypes&gt;</FONT></FONT></P>
<P class=MsoPlainText style="MARGIN: 0in 0in 0pt"><FONT size=3><FONT face=Consolas><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN>&lt;/webServices&gt;</FONT></FONT></P>
<P class=MsoPlainText style="MARGIN: 0in 0in 0pt"><FONT size=3><FONT face=Consolas><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>&lt;/system.web&gt;</FONT></FONT></P>
<P class=MsoPlainText style="MARGIN: 0in 0in 0pt"><FONT face=Consolas size=3>&lt;/configuration&gt;</FONT></P>
<P>Save the config and restart VS. You will have the same experience as in x86 machines.</P>]]></content:encoded>
    </item>
    <item>
      <title>Using Visual Studio Intellisense to Edit WCF Configuration files.</title>
      <link>https://docs.microsoft.com/archive/blogs/govindr/using-visual-studio-intellisense-to-edit-wcf-configuration-files</link>
      <pubDate>Tue, 06 Mar 2007 18:33:00 GMT</pubDate>
      <dc:creator><![CDATA[govindr]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/govindr/2007/03/06/using-visual-studio-intellisense-to-edit-wcf-configuration-files/</guid>
      <description><![CDATA[If you are using Visual Studio 2005 below is how you can&nbsp;enable intellisense to edit your WCF...]]></description>
      <content:encoded><![CDATA[<P>If you are using Visual Studio 2005 below is how you can&nbsp;enable intellisense to edit your WCF config files.&nbsp;</P>
<P>Copy the Attached WCF Configuration schema file to your VS installation folder at %Program Files%\Visual Studio 8\Xml\Schemas. You will find DotNetConfig.xsd in the same directory. Open this file in notepad and&nbsp; following right after the xs:schema element add the&nbsp;below line,</P>
<P>&lt;xs:include schemaLocation="WCFConfig.xsd" /&gt;&nbsp;</P>
<P>You will now have intellisense support for your WCF configuration files in VS!</P>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Components.PostAttachments/00/01/82/19/36/WCFConfig.xsd" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-components-postattachments/00-01-82-19-36/WCFConfig.xsd">WCFConfig.xsd</a></p>]]></content:encoded>
    </item>
    <item>
      <title>Trouble Installing .NET 2.0....</title>
      <link>https://docs.microsoft.com/archive/blogs/govindr/trouble-installing-net-2-0</link>
      <pubDate>Sat, 24 Feb 2007 16:13:00 GMT</pubDate>
      <dc:creator><![CDATA[govindr]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/govindr/2007/02/24/trouble-installing-net-2-0/</guid>
      <description><![CDATA[If you had a Beta version of Framework 2.0 installed on your machine and are moving to a the RTM...]]></description>
      <content:encoded><![CDATA[<P>If you had a Beta version of Framework 2.0 installed on your machine and are moving to a the RTM version, then you might have some trouble with getting the correct version of mscoree.dll in place. The reason is Microsoft Installer's resilence feature will restore the old version of mscoree.dll in your system directory even if you delete it. To fix this follow the belwo support article from Microsoft.</P>
<P><A href="https://support.microsoft.com/kb/908077">https://support.microsoft.com/kb/908077</A></P>]]></content:encoded>
    </item>
    <item>
      <title>Daylight savings changes and WCF Security Processing</title>
      <link>https://docs.microsoft.com/archive/blogs/govindr/daylight-savings-changes-and-wcf-security-processing</link>
      <pubDate>Tue, 20 Feb 2007 23:26:00 GMT</pubDate>
      <dc:creator><![CDATA[govindr]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/govindr/2007/02/20/daylight-savings-changes-and-wcf-security-processing/</guid>
      <description><![CDATA[I had a question today from a customer who was concerned that his WCF application might start to...]]></description>
      <content:encoded><![CDATA[<P>I had a question today from a customer who was concerned that his WCF application might start to behave erratically due to the new Daylight savings schedule. Then I realized that there has been quite some noise around this area and people are predicting systems to stop responding when the new Daylight savings goes into effect. It reminded me of the Y2K days which was hyped as the doomsday of the <SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA">Millennium</SPAN>.</P>
<P>In actual fact you don't have to worry about&nbsp;anything. WCF security has been tested for daylight savings time changes and the fact that the change happens earlier is not of concern. To be specific, WCF is using UTC time in all its code that the local time really doesn't affect us. As long as you have the Windows patch to adjust your clock at the correct time you should be fine. So, Enjoy! Keep coding with WCF! </P>]]></content:encoded>
    </item>
  </channel>
</rss>