<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>merill.net</title>
	<atom:link href="http://merill.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://merill.net</link>
	<description>my utmost for His highest, my best for His glory</description>
	<lastBuildDate>Fri, 20 Apr 2012 21:31:01 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Troubleshooting the &#8217;403 Forbidden&#8217; error for SharePoint &amp; ASP.NET Apps</title>
		<link>http://merill.net/2012/04/troubleshooting-the-403-forbidden-error-for-sharepoint-asp-net-apps/</link>
		<comments>http://merill.net/2012/04/troubleshooting-the-403-forbidden-error-for-sharepoint-asp-net-apps/#comments</comments>
		<pubDate>Fri, 20 Apr 2012 21:31:01 +0000</pubDate>
		<dc:creator>Merill Fernando</dc:creator>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[SharePoint]]></category>

		<guid isPermaLink="false">http://merill.net/?p=761</guid>
		<description><![CDATA[If your site bombs out with 403 Forbidden error one quick way to identify the root cause is to run ProcessMon on the web server and filter it out to only show entries where Process Name = w3wp.exe Result = ACCESS DENIED]]></description>
			<content:encoded><![CDATA[<p>If your site bombs out with 403 Forbidden error one quick way to identify the root cause is to run <a href="http://technet.microsoft.com/en-us/sysinternals/bb896645">ProcessMon</a> on the web server and filter it out to only show entries where</p>
<p>Process Name = w3wp.exe</p>
<p>Result = ACCESS DENIED</p>
]]></content:encoded>
			<wfw:commentRss>http://merill.net/2012/04/troubleshooting-the-403-forbidden-error-for-sharepoint-asp-net-apps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Disable Windows Live Contacts from being synchronized to Windows Phone</title>
		<link>http://merill.net/2012/03/disable-windows-live-contacts-from-being-synchronized-to-windows-phone/</link>
		<comments>http://merill.net/2012/03/disable-windows-live-contacts-from-being-synchronized-to-windows-phone/#comments</comments>
		<pubDate>Tue, 20 Mar 2012 00:50:18 +0000</pubDate>
		<dc:creator>Merill Fernando</dc:creator>
				<category><![CDATA[Windows Phone]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[windows phone]]></category>

		<guid isPermaLink="false">http://merill.net/?p=758</guid>
		<description><![CDATA[One very useful Windows Phone feature is that it automatically adds all your Windows Live contacts to your Windows Phone when you sign in. This is all fine and dandy if that&#8217;s your master contact  list but for me all of those contacts were carried over from MSN Messenger which I stopped using many years [...]]]></description>
			<content:encoded><![CDATA[<p>One very useful Windows Phone feature is that it automatically adds all your Windows Live contacts to your Windows Phone when you sign in. This is all fine and dandy if that&#8217;s your master contact  list but for me all of those contacts were carried over from MSN Messenger which I stopped using many years ago.</p>
<p>The most annoying bit is that there is no way to get rid of those contacts. As of WP 7.5 you only have two options either delete all your contacts from Windows Live or change your primary Windows Live ID (which required a hard reset).</p>
<p>There is a third option though and that is to filter out the Windows Live contacts from the People Hub.</p>
<p>To do so go to the People Hub -&gt; Settings -&gt; Filter -&gt; Uncheck Windows Live</p>
<p>Tada a quick and painless way to remove the Windows Live contacts and keep your address book tidy.</p>
]]></content:encoded>
			<wfw:commentRss>http://merill.net/2012/03/disable-windows-live-contacts-from-being-synchronized-to-windows-phone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows 8 &#8211; New Folder</title>
		<link>http://merill.net/2012/03/windows-8-new-folder/</link>
		<comments>http://merill.net/2012/03/windows-8-new-folder/#comments</comments>
		<pubDate>Mon, 12 Mar 2012 07:32:28 +0000</pubDate>
		<dc:creator>Merill Fernando</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[windows 8]]></category>

		<guid isPermaLink="false">http://merill.net/?p=752</guid>
		<description><![CDATA[To create a new folder in windows explorer pre Win8 was Alt+F, N. In Windows 8 it&#8217;s Alt+H, N There are many new shortcuts like Alt+F,S to start PowerShell etc.. The neat advantage with the ribbon bar is that you press Alt and can see the shortcut letters displayed so you don&#8217;t need to memorise [...]]]></description>
			<content:encoded><![CDATA[<p>To create a new folder in windows explorer pre Win8 was Alt+F, N.</p>
<p>In Windows 8 it&#8217;s Alt+H, N</p>
<p>There are many new shortcuts like Alt+F,S to start PowerShell etc.. The neat advantage with the ribbon bar is that you press Alt and can see the shortcut letters displayed so you don&#8217;t need to memorise these things.</p>
]]></content:encoded>
			<wfw:commentRss>http://merill.net/2012/03/windows-8-new-folder/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LogParser &#8211; Converting IIS logs to local date and time and filtering by date range</title>
		<link>http://merill.net/2012/02/logparser-converting-iis-logs-to-local-date-and-time-and-filtering-by-date-range/</link>
		<comments>http://merill.net/2012/02/logparser-converting-iis-logs-to-local-date-and-time-and-filtering-by-date-range/#comments</comments>
		<pubDate>Thu, 02 Feb 2012 21:02:26 +0000</pubDate>
		<dc:creator>Merill Fernando</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[date]]></category>
		<category><![CDATA[iis]]></category>
		<category><![CDATA[log]]></category>
		<category><![CDATA[logparser]]></category>
		<category><![CDATA[time]]></category>
		<category><![CDATA[utc]]></category>

		<guid isPermaLink="false">http://merill.net/?p=750</guid>
		<description><![CDATA[This is a note to myself to remember how to convert the UTC date/time to the local timezone. logparser &#8220;SELECT TO_TIMESTAMP(date, time) AS utc-timestamp, TO_LOCALTIME(utc-timestamp) AS local-timestamp,* FROM D:\Log\SearchServiceWrapperLogs\SearchServiceWrapperLogs\u_ex1202* WHERE local-timestamp between timestamp(&#8217;2012/02/02 00:00:00&#8242;, &#8216;yyyy/MM/dd hh:mm:ss&#8217;) and timestamp(&#8217;2012/02/03 00:00:00&#8242;, &#8216;yyyy/MM/dd hh:mm:ss&#8217;)&#8221; -recurse:-1 -o:csv >> fulllog.csv]]></description>
			<content:encoded><![CDATA[<p>This is a note to myself to remember how to convert the UTC date/time to the local timezone.</p>
<p>logparser &#8220;SELECT TO_TIMESTAMP(date, time) AS utc-timestamp, TO_LOCALTIME(utc-timestamp) AS local-timestamp,* FROM D:\Log\SearchServiceWrapperLogs\SearchServiceWrapperLogs\u_ex1202* WHERE local-timestamp between timestamp(&#8217;2012/02/02 00:00:00&#8242;, &#8216;yyyy/MM/dd hh:mm:ss&#8217;) and timestamp(&#8217;2012/02/03 00:00:00&#8242;, &#8216;yyyy/MM/dd hh:mm:ss&#8217;)&#8221; -recurse:-1 -o:csv >> fulllog.csv</p>
]]></content:encoded>
			<wfw:commentRss>http://merill.net/2012/02/logparser-converting-iis-logs-to-local-date-and-time-and-filtering-by-date-range/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fixed: The target &#8220;GetCopyToOutputDirectoryContentProjectItems&#8221; does not exist in the project.</title>
		<link>http://merill.net/2012/01/fixed-the-target-getcopytooutputdirectorycontentprojectitems-does-not-exist-in-the-project/</link>
		<comments>http://merill.net/2012/01/fixed-the-target-getcopytooutputdirectorycontentprojectitems-does-not-exist-in-the-project/#comments</comments>
		<pubDate>Tue, 10 Jan 2012 13:08:36 +0000</pubDate>
		<dc:creator>Merill Fernando</dc:creator>
				<category><![CDATA[Windows Phone]]></category>
		<category><![CDATA[windows phone]]></category>

		<guid isPermaLink="false">http://merill.net/?p=746</guid>
		<description><![CDATA[If your building a Windows Phone app and get this error then a quick fix is to download the XNA Game Studio 4.0 Refresh (40 MB) and install it. This adds the missing target. XNA Game Studio 4.0 Refresh Download page - http://www.microsoft.com/download/en/details.aspx?displaylang=en&#38;id=27599 Direct download link - http://download.microsoft.com/download/E/C/6/EC68782D-872A-4D58-A8D3-87881995CDD4/XNAGS40_setup.exe Downloading and installing this takes way less time than [...]]]></description>
			<content:encoded><![CDATA[<p>If your building a Windows Phone app and get this error then a quick fix is to download the XNA Game Studio 4.0 Refresh (40 MB) and install it.</p>
<p>This adds the missing target.</p>
<p><strong>XNA Game Studio 4.0 Refresh</strong></p>
<ul>
<li>Download page - <a href="http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;id=27599">http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;id=27599</a></li>
<li>Direct download link - <a title="http://download.microsoft.com/download/E/C/6/EC68782D-872A-4D58-A8D3-87881995CDD4/XNAGS40_setup.exe" href="http://download.microsoft.com/download/E/C/6/EC68782D-872A-4D58-A8D3-87881995CDD4/XNAGS40_setup.exe">http://download.microsoft.com/download/E/C/6/EC68782D-872A-4D58-A8D3-87881995CDD4/XNAGS40_setup.exe</a></li>
</ul>
<div>Downloading and installing this takes way less time than repairing the Windows Phone SDK (which asks for a reboot as well). Also repairing does not always solve the problem.</div>
]]></content:encoded>
			<wfw:commentRss>http://merill.net/2012/01/fixed-the-target-getcopytooutputdirectorycontentprojectitems-does-not-exist-in-the-project/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Configure the Belkin Play Max router for SLT ADSL Broadband</title>
		<link>http://merill.net/2011/09/configure-the-belkin-play-max-router-for-slt-adsl-broadband/</link>
		<comments>http://merill.net/2011/09/configure-the-belkin-play-max-router-for-slt-adsl-broadband/#comments</comments>
		<pubDate>Fri, 16 Sep 2011 11:57:54 +0000</pubDate>
		<dc:creator>Merill Fernando</dc:creator>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[config]]></category>
		<category><![CDATA[router]]></category>

		<guid isPermaLink="false">http://merill.net/?p=737</guid>
		<description><![CDATA[I&#8217;m on vacation back home in Sri Lanka and became the tech support guy for the in-laws. They were using an old D-Link router which supported just 802.11b and a draft version of g. In short ancient. The house has two stories and a terrace but the wifi wouldn&#8217;t even work on all the rooms [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m on vacation back home in Sri Lanka and became the tech support guy for the in-laws. They were using an old D-Link router which supported just 802.11b and a draft version of g. In short ancient. The house has two stories and a terrace but the wifi wouldn&#8217;t even work on all the rooms on the same floor.</p>
<p>So I went to Unity plaza and checked out all the routers that are available. Unfortunately there&#8217;s not much in terms of choice. All of the available routers were the low end versions by D-Link, a few have a low-end Linksys router and some Belkin routers. You also get a handful of Asian brands of which the Unity Plaza sales guys tout the TP-Link as being the best brand, far superior to D-Link, Linksys etc.</p>
<p>I finally settled on the <a href="http://www.belkin.com/IWCatProductPage.process?Product_Id=522112">Belkin Play Max N300+300</a> which sells here for Rs. 16,500/-</p>
<p>I got home plugged it in but couldn&#8217;t get it to connect to the SLT ADSL. I spent a few hours trying various settings, calling SLT to verify the username/password all to no avail. I finally updated the router from v1.00.45 to <a href="http://en-au-support.belkin.com/app/answers/detail/a_id/4624/~/f7d4401au-play-max-wireless-modem-router---firmware-update">v1.00.46</a> and viola it worked.</p>
<p>The connectivity is really good and I don&#8217;t have any dead spots in the house.</p>
<p>Here are a few screenshots of the config page for SLT&#8217;s settings.</p>
<p><a href="http://merill.net/wp-content/uploads/2011/09/Belkin-Router-Config-PPPoE.png"><img class="alignnone size-medium wp-image-739" title="Belkin-Router-Config-PPPoE" src="http://merill.net/wp-content/uploads/2011/09/Belkin-Router-Config-PPPoE-300x216.png" alt="" width="300" height="216" /></a></p>
<p><a href="http://merill.net/wp-content/uploads/2011/09/Belkin-Router-Config-PPPoE-VPI-VCI.png"><img class="alignnone size-medium wp-image-740" title="Belkin-Router-Config-PPPoE-VPI-VCI" src="http://merill.net/wp-content/uploads/2011/09/Belkin-Router-Config-PPPoE-VPI-VCI-300x206.png" alt="" width="300" height="206" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://merill.net/2011/09/configure-the-belkin-play-max-router-for-slt-adsl-broadband/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Generating a mock/stub WCF web service from a WSDL</title>
		<link>http://merill.net/2011/08/generating-a-mockstub-wcf-web-service-from-a-wsdl/</link>
		<comments>http://merill.net/2011/08/generating-a-mockstub-wcf-web-service-from-a-wsdl/#comments</comments>
		<pubDate>Mon, 01 Aug 2011 22:29:14 +0000</pubDate>
		<dc:creator>Merill Fernando</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[wcf]]></category>
		<category><![CDATA[wsdl]]></category>

		<guid isPermaLink="false">http://merill.net/?p=732</guid>
		<description><![CDATA[When working on integration projects you sometimes need to build a stub or mock service to emulate the behavior of the targeted system in your dev environment. Visual Studio&#8217;s Add Service Reference dialog provides an easy way for generating the client code based on the WSDL of the service that you are invoking. Unfortunately there [...]]]></description>
			<content:encoded><![CDATA[<p>When working on integration projects you sometimes need to build a stub or mock service to emulate the behavior of the targeted system in your dev environment.</p>
<p>Visual Studio&#8217;s Add Service Reference dialog provides an easy way for generating the client code based on the WSDL of the service that you are invoking. Unfortunately there is no such dialog to generate a server side stub / mock.</p>
<p>There are various approaches you can take here but using svcutil.exe has been the most pain-free for me. </p>
<p>Here&#8217;s an example of how to go about it:<br />
<code>svcutil /mc UserService.wsdl UserTypes.xsd</code></p>
<p>The /mc parameter generates a class file with all the data types defined in the .xsd as well as the interfaces for all the operations defined in the WSDL. It also provides you with a starter .config file that you&#8217;ll then need to tweak to define the port on which the service is going to be hosted.</p>
<p>Once you have these files create a new WCF Service Library project, add the generated class files. Then create an implementation class that implements the interfaces that is generated. To keep things simple you might want to write code for just the operations that your calling from the client side.</p>
<p>Now here&#8217;s a gotcha for those stubbing out a service generated by Oracle WebLogic. The Action (SOAP Action) attribute on the operations are sometimes the same for all the operations in the interface. WCF doesn&#8217;t support this since it doesn&#8217;t conform to the WSDL specifications. You&#8217;ll easily know that you&#8217;ve hit this issue when you get the following exception when trying to host your stubbed service.</p>
<p><code>System.InvalidOperationException: The operations xxx and yyy have the same action ().  Every operation must have a unique action value.<br />
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ActionDemuxer.Add(String action, DispatchOperationRuntime operation)<br />
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime..ctor(DispatchRuntime dispatch)<br />
   at System.ServiceModel.Dispatcher.DispatchRuntime.GetRuntimeCore()<br />
   at System.ServiceModel.Dispatcher.ChannelDispatcher.OnOpened()<br />
   at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)<br />
   at System.ServiceModel.ServiceHostBase.OnOpen(TimeSpan timeout)<br />
   at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)<br />
   at Microsoft.Tools.SvcHost.ServiceHostHelper.OpenService(ServiceInfo info)<br />
</code></p>
<p>To overcome this you can create a custom Dispatch Behavior that uses an alternate algorithm to assign incoming messages to operations. The <a href="http://msdn.microsoft.com/en-us/library/aa395223.aspx">Dispatch by Body Element</a> WCF sample comes with a sample implementation that works well. </p>
<p>All you need to do is add the two class files in this zip file (it&#8217;s the same code that comes with the WCF samples) <a href='http://merill.net/wp-content/uploads/2011/08/Contracts.zip'>DispatchByBodyBehavior</a></p>
<p>Next open up the class generated by svcutil and add the DispatchByBodyBehavior attribute to the ServiceContractInterface. You should now be able to host the service in WCF without any issues.</p>
<p><code>[ServiceContract(Namespace="http://Microsoft.ServiceModel.Samples"),<br />
                            <strong>DispatchByBodyElementBehavior</strong>]<br />
public interface IDispatchedByBody<br />
{<br />
    [OperationContract(ReplyAction="*"),<br />
     DispatchBodyElement("bodyA","http://tempuri.org")]<br />
    Message OperationForBodyA(Message msg);<br />
    [OperationContract(ReplyAction = "*"),<br />
     DispatchBodyElement("bodyB", "http://tempuri.org")]<br />
    Message OperationForBodyB(Message msg);<br />
    [OperationContract(Action="*", ReplyAction="*")]<br />
    Message DefaultOperation(Message msg);<br />
}</code></p>
]]></content:encoded>
			<wfw:commentRss>http://merill.net/2011/08/generating-a-mockstub-wcf-web-service-from-a-wsdl/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>ULS Viewer stops working</title>
		<link>http://merill.net/2011/04/uls-viewer-stops-working/</link>
		<comments>http://merill.net/2011/04/uls-viewer-stops-working/#comments</comments>
		<pubDate>Tue, 12 Apr 2011 02:38:42 +0000</pubDate>
		<dc:creator>Merill Fernando</dc:creator>
				<category><![CDATA[SharePoint 2010]]></category>
		<category><![CDATA[log]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[uls viewer]]></category>

		<guid isPermaLink="false">http://merill.net/?p=719</guid>
		<description><![CDATA[If ULS Viewer suddenly stops reading from the ULS log, the quick fix is to move all the log files to another folder. Except for the last log file which Explorer will anyway prevent you from moving. The issue is most probably because one or more files in the folder are not in the right [...]]]></description>
			<content:encoded><![CDATA[<p>If ULS Viewer suddenly stops reading from the ULS log, the quick fix is to move all the log files to another folder. Except for the last log file which Explorer will anyway prevent you from moving.</p>
<p>The issue is most probably because one or more files in the folder are not in the right format and trip up ULS Viewer. </p>
<p>Some have reported the *upgrade.log files as the culprit. Deleting them didn&#8217;t fix it for me so I just deleted all the files.</p>
<p>PS: If your a SharePoint dev and your not using the ULS Viewer from Microsoft (no not the one from CodePlex). Do yourself a favour and give it a try.<br />
<a href="http://archive.msdn.microsoft.com/ULSViewer">http://archive.msdn.microsoft.com/ULSViewer</a></p>
]]></content:encoded>
			<wfw:commentRss>http://merill.net/2011/04/uls-viewer-stops-working/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>FBA Custom Sign In Page returns 401 Unauthorized error</title>
		<link>http://merill.net/2010/12/fba-custom-sign-in-page-returns-401-unauthorized-error/</link>
		<comments>http://merill.net/2010/12/fba-custom-sign-in-page-returns-401-unauthorized-error/#comments</comments>
		<pubDate>Tue, 07 Dec 2010 01:14:56 +0000</pubDate>
		<dc:creator>Merill Fernando</dc:creator>
				<category><![CDATA[SharePoint 2010]]></category>
		<category><![CDATA[claims]]></category>
		<category><![CDATA[fba]]></category>
		<category><![CDATA[sso]]></category>

		<guid isPermaLink="false">http://merill.net/?p=720</guid>
		<description><![CDATA[If you&#8217;ve built a custom sign in page in SharePoint 2010 but keep getting a 401 Unauthorized error instead of the sign in page then you&#8217;ve most probably deployed the solution package to a single web application. To resolve the issue the solution needs to be deployed to all applications and not restricted to a [...]]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;ve built a custom sign in page in SharePoint 2010 but keep getting a 401 Unauthorized error instead of the sign in page then you&#8217;ve most probably deployed the solution package to a single web application.</p>
<p>To resolve the issue the solution needs to be deployed to all applications and not restricted to a single web application.</p>
<p>i.e. When calling Install-SPSolution don&#8217;t include the -WebApplication parameter.</p>
<p>Edit: Another instance when you will see the 401 Unauthorized error is when your not inheriting from the correct base page. It should not be the layoutsbasepage.</p>
<p>Another tip if you see the following error in your ULS log:<br />
<code>Request for security token failed with exception: System.ServiceModel.FaultException`1[System.ServiceModel.ExceptionDetail]: Object reference not set to an instance of an object. (Fault Detail is equal to An ExceptionDetail, likely created by IncludeExceptionDetailInFaults=true, whose value is: System.NullReferenceException: Object reference not set to an instance of an object.<br />
 at Microsoft.SharePoint.IdentityModel.SPSecurityTokenService.SPRequestInfo.ValidateFormsAuthProviderNames(Uri context, String membershipProvider, String roleProvider)<br />
 at Microsoft.SharePoint.IdentityModel.SPSecurityTokenService.SPRequestInfo.SetProviderNames(RequestSecurityToken request)<br />
 at Microsoft.SharePoint.IdentityModel.SPSecurityTokenService.SPRequestInfo..ctor(IClaimsIdentity identity, RequestSecurityToken request, Boolean initializeForActor)<br />
 at Microsoft.SharePoint.IdentityModel.SPSecurityTokenService.SPRequestInfo..ctor(IClaimsPrincipal principal, RequestSecurityToken request)<br />
 at Microsoft.SharePoint.IdentityModel.SPSecurityTokenService.GetTokenLifetime(Lifetime requestLifetime)<br />
 at Microsoft.IdentityModel.SecurityTokenService.SecurityTokenService.Issue(IClaimsPrincipal principal, RequestSecurityToken r...).<br />
</code></p>
<p>That means your using a name that has not been setup as an AAM. I was using http://localhost and it always kept failing. Changing the request url to the actual name of the server (in my case http://mosswfe1) fixed it.</p>
<p>Note to myself: References for creating a Custom Sign In Page<br />
<a href="http://blogs.msdn.com/b/chunliu/archive/2010/08/21/creating-a-custom-login-page-for-fba-in-sharepoint-2010.aspx">Creating a Custom Login Page for FBA in SharePoint 2010</a><br />
<a href="http://blogs.msdn.com/b/kaevans/archive/2010/07/09/creating-a-custom-login-page-for-sharepoint-2010.aspx">Creating a Custom Login Page for SharePoint 2010</a><br />
<a href="http://blogs.msdn.com/b/pranab/archive/2010/07/26/how-to-create-custom-login-form-for-sharepoint-2010-form-based-authentication.aspx">How to create custom login page for SharePoint 2010 form based authentication (FBA)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://merill.net/2010/12/fba-custom-sign-in-page-returns-401-unauthorized-error/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>FBA Configuration Manager for SharePoint 2010</title>
		<link>http://merill.net/2010/12/fba-configuration-manager-for-sharepoint-2010/</link>
		<comments>http://merill.net/2010/12/fba-configuration-manager-for-sharepoint-2010/#comments</comments>
		<pubDate>Thu, 02 Dec 2010 04:54:18 +0000</pubDate>
		<dc:creator>Merill Fernando</dc:creator>
				<category><![CDATA[SharePoint 2010]]></category>
		<category><![CDATA[fba]]></category>
		<category><![CDATA[powershell]]></category>
		<category><![CDATA[sharepoint 2010]]></category>
		<category><![CDATA[utility]]></category>

		<guid isPermaLink="false">http://merill.net/?p=713</guid>
		<description><![CDATA[Setting up forms based authentication in SharePoint 2010 requires making changes in three web.config files. This utility allows you to perform the update in a single click and was inspired by the configuration manager that Steve Peschka released. I&#8217;ve taken a different approach to Steve&#8217;s, instead of using a feature and a timer job I [...]]]></description>
			<content:encoded><![CDATA[<p>Setting up forms based authentication in SharePoint 2010 requires making changes in three web.config files.</p>
<p>This utility allows you to perform the update in a single click and was inspired by the configuration manager that Steve Peschka <a href="http://blogs.technet.com/b/speschka/archive/2010/07/28/sharepoint-2010-forms-based-authentication-configuration-manager.aspx">released</a><code>.</code></p>
<p>I&#8217;ve taken a different approach to Steve&#8217;s, instead of using a feature and a timer job I directly update the config files in the local machine. To update the other machines in the farm you can use the included PowerShell script.</p>
<p>The utility makes a back-up of all of the web.configs before updating them. I&#8217;ve also included the sample membership and role providers that Steve provided.</p>
<p><a href="http://merill.net/wp-content/uploads/2010/12/ConfigureMembershipProvider1.png"><img class="alignnone size-full wp-image-715" title="ConfigureMembershipProvider" src="http://merill.net/wp-content/uploads/2010/12/ConfigureMembershipProvider1.png" alt="" width="695" /></a></p>
<p>The PowerShell script to perform the update uses the same engine as the UI. </p>
<p><code><br />
function global:Get-ScriptDirectory()<br />
{<br />
   $Invocation = (Get-Variable MyInvocation -Scope 1).Value<br />
   Split-Path $Invocation.MyCommand.Path<br />
}</p>
<p>$webApp = Get-SPWebApplication http://localhost:9191<br />
$settingsPath = Join-Path (Get-ScriptDirectory) "SqlMembershipConfig.xml"<br />
$settings = Get-Content $settingsPath<br />
$scriptDir = Get-ScriptDirectory<br />
$assemblyPath = Join-Path $scriptDir "FBA.dll"<br />
Add-Type -Path $assemblyPath<br />
[FBA.ConfigureMembershipProvider]::Configure($webApp, "Default", $settings)<br />
</code></p>
<p>The source code and release packages are available in CodePlex: <a href="http://fbaconfigmanager.codeplex.com/">http://fbaconfigmanager.codeplex.com/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://merill.net/2010/12/fba-configuration-manager-for-sharepoint-2010/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>

