<?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>Pete Rodriguez's Blog</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/pedrorod/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/pedrorod/feed.xml</link>
    <description />
    <lastBuildDate>Tue, 16 Apr 2019 05:24:19 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Working with files in Azure Blob Storage in China</title>
      <link>https://docs.microsoft.com/archive/blogs/pedrorod/working-with-files-in-azure-blob-storage-in-china</link>
      <pubDate>Tue, 01 Apr 2014 14:30:57 GMT</pubDate>
      <dc:creator><![CDATA[Pete Rodriguez]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/pedrorod/2014/04/01/working-with-files-in-azure-blob-storage-in-china/</guid>
      <description><![CDATA[I have been working with a customer that is looking to use Azure in China (read this for more info:...]]></description>
      <content:encoded><![CDATA[<p>I have been working with a customer that is looking to use Azure in China (read this for more info: <a title="https://blogs.technet.com/b/microsoft_blog/archive/2014/03/26/microsoft-becomes-the-first-global-public-cloud-provider-in-china-with-the-general-availability-of-microsoft-azure-in-the-region.aspx" href="https://blogs.technet.com/b/microsoft_blog/archive/2014/03/26/microsoft-becomes-the-first-global-public-cloud-provider-in-china-with-the-general-availability-of-microsoft-azure-in-the-region.aspx">https://blogs.technet.com/b/microsoft_blog/archive/2014/03/26/microsoft-becomes-the-first-global-public-cloud-provider-in-china-with-the-general-availability-of-microsoft-azure-in-the-region.aspx</a>). One issue we faced is that none of the available Azure Blob storage tools we tried worked with China because the DNS name for Azure Blob storage China is different than the other regions (*.blob.core.chinacloudapi.cn). </p>  <p>To work around this I wrote a utility in C# to provide some basic capabilities like upload, download, deleting a blob and listing the contents of a blob container. </p>  <p>Go here for the CodePlex project: <a title="https://petesazureblobtool.codeplex.com/" href="https://petesazureblobtool.codeplex.com/">https://petesazureblobtool.codeplex.com/</a></p>]]></content:encoded>
    </item>
    <item>
      <title>Creating Provider Hosted Apps for SharePoint 2013 when your IIS server and SharePoint Servers are in different (non-trusted) domains</title>
      <link>https://docs.microsoft.com/archive/blogs/pedrorod/creating-provider-hosted-apps-for-sharepoint-2013-when-your-iis-server-and-sharepoint-servers-are-in-different-non-trusted-domains</link>
      <pubDate>Wed, 30 Jan 2013 14:34:53 GMT</pubDate>
      <dc:creator><![CDATA[Pete Rodriguez]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/pedrorod/2013/01/30/creating-provider-hosted-apps-for-sharepoint-2013-when-your-iis-server-and-sharepoint-servers-are-in-different-non-trusted-domains/</guid>
      <description><![CDATA[I had a customer that wanted to do high trust apps for SharePoint 2013. However, their developer...]]></description>
      <content:encoded><![CDATA[<p>I had a customer that wanted to do high trust apps for SharePoint 2013. However, their developer machines were in a different domain than their web servers. TokenHelper is designed to work with either Azure ACS or SharePoint/IIS servers in a Windows domain. After digging into the TokenHelper class that comes with your &quot;”Apps for SharePoint 2013” Visual Studio project, I figured out a way to make this work. </p>  <p>The public method GetS2SClientContextWithWindowsIdentity calls the private method GetClaimsWithWindowsIdentity:</p>  <p>private static JsonWebTokenClaim[] GetClaimsWithWindowsIdentity(WindowsIdentity identity)   <br />&#160;&#160;&#160;&#160;&#160;&#160; {    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; JsonWebTokenClaim[] claims = new JsonWebTokenClaim[]    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; {    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; new JsonWebTokenClaim(TokenHelper.NameIdentifierClaimType, identity.User.Value.ToLower()),    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; new JsonWebTokenClaim(&quot;nii&quot;, &quot;urn:office:idp:activedirectory&quot;)    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; };    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; return claims;    <br />&#160;&#160;&#160;&#160;&#160;&#160; }    <br /></p>  <p>If you look at the value of identity.User.Value.ToLower(), it turns out that that is a Windows SID. To make this work without a domain, you will have to get the SID of a user from your SharePoint server. You do that via <a href="https://technet.microsoft.com/en-us/sysinternals/bb897417.aspx">PsGetSID</a> from SysInternals or write a little PowerShell do it (see <a title="https://powershellers.blogspot.com/2009/06/how-to-get-computer-sid-using.html" href="https://powershellers.blogspot.com/2009/06/how-to-get-computer-sid-using.html">https://powershellers.blogspot.com/2009/06/how-to-get-computer-sid-using.html</a>). </p>  <p>I extended TokenHelper via extension methods. I don’t like to change generated code in case it gets changed later (although I did have to mark the TokenHelper class partial). </p>  <p>Here is the code that I created so that you can pass a SID:</p>  <p>public partial class TokenHelper   <br />&#160;&#160; {</p>  <p>&#160;&#160;&#160;&#160;&#160;&#160; public static ClientContext GetS2SClientContextWithWindowsSID(   <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Uri targetApplicationUri,    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; string sid)    <br />&#160;&#160;&#160;&#160;&#160;&#160; {    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; string realm = string.IsNullOrEmpty(Realm) ? GetRealmFromTargetUrl(targetApplicationUri) : Realm;</p>  <p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; JsonWebTokenClaim[] claims = GetClaimsWithWindowsSID(sid);</p>  <p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; string accessToken = GetS2SAccessTokenWithClaims(targetApplicationUri.Authority, realm, claims);</p>  <p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; return GetClientContextWithAccessToken(targetApplicationUri.ToString(), accessToken);   <br />&#160;&#160;&#160;&#160;&#160;&#160; }    <br />&#160;&#160;&#160;&#160;&#160;&#160; public static string GetS2SAccessTokenWithWindowsSID(    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Uri targetApplicationUri,    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; string sid)    <br />&#160;&#160;&#160;&#160;&#160;&#160; {    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; string realm = string.IsNullOrEmpty(Realm) ? GetRealmFromTargetUrl(targetApplicationUri) : Realm;</p>  <p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; JsonWebTokenClaim[] claims = GetClaimsWithWindowsSID(sid);</p>  <p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; return GetS2SAccessTokenWithClaims(targetApplicationUri.Authority, realm, claims);   <br />&#160;&#160;&#160;&#160;&#160;&#160; }</p>  <p>&#160;&#160;&#160;&#160;&#160;&#160; private static JsonWebTokenClaim[] GetClaimsWithWindowsSID(string sid)   <br />&#160;&#160;&#160;&#160;&#160;&#160; {    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; JsonWebTokenClaim[] claims = new JsonWebTokenClaim[]    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; {&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; new JsonWebTokenClaim(TokenHelper.NameIdentifierClaimType, sid),    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; new JsonWebTokenClaim(&quot;nii&quot;, &quot;urn:office:idp:activedirectory&quot;)    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; };    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; return claims;    <br />&#160;&#160;&#160;&#160;&#160;&#160; }</p>  <p>&#160;&#160; }</p>  <p>To call this from your app, do this:</p>  <p>TokenHelper.TrustAllCertificates();   <br />var sharepointUrl = new Uri(Request.QueryString[&quot;SPHostUrl&quot;]);&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <br />string sid = &quot;&quot;; //replace this     <br />var clientContext = TokenHelper.GetS2SClientContextWithWindowsSID(sharepointUrl, sid);    <br /></p>  <p>A full explanation of the TokenHelper class is beyond the scope of this post but you might find this article helpful: <a title="https://msdn.microsoft.com/en-us/library/fp179901.aspx" href="https://msdn.microsoft.com/en-us/library/fp179901.aspx">https://msdn.microsoft.com/en-us/library/fp179901.aspx</a>. </p>]]></content:encoded>
    </item>
    <item>
      <title>Managed Metadata Navigation not working for Anonymous Users in SharePoint 2013</title>
      <link>https://docs.microsoft.com/archive/blogs/pedrorod/managed-metadata-navigation-not-working-for-anonymous-users-in-sharepoint-2013</link>
      <pubDate>Wed, 30 Jan 2013 14:07:18 GMT</pubDate>
      <dc:creator><![CDATA[Pete Rodriguez]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/pedrorod/2013/01/30/managed-metadata-navigation-not-working-for-anonymous-users-in-sharepoint-2013/</guid>
      <description><![CDATA[I ran into an issue today where an anonymous user in SharePoint 2013 was not able to see the...]]></description>
      <content:encoded><![CDATA[<p>I ran into an issue today where an anonymous user in SharePoint 2013 was not able to see the navigation for a site. Authenticated users could see and use the navigation just fine though. The workaround was to go into Term Store Management, select the term and specify a target page for the item:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/06/28/metablogapi/7823.image_39C77EBB.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-06-28-metablogapi/7823.image_5F00_39C77EBB.png"><img style="display: inline; background-image: none;" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/06/28/metablogapi/1856.image_thumb_6AE6B95B.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-06-28-metablogapi/1856.image_5F00_thumb_5F00_6AE6B95B.png" width="583" height="199" /></a></p>  <p>Once I did that, it worked!</p>]]></content:encoded>
    </item>
    <item>
      <title>Content database sizing guidance for SharePoint 2010</title>
      <link>https://docs.microsoft.com/archive/blogs/pedrorod/content-database-sizing-guidance-for-sharepoint-2010</link>
      <pubDate>Mon, 12 Jul 2010 12:39:49 GMT</pubDate>
      <dc:creator><![CDATA[Pete Rodriguez]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/pedrorod/2010/07/12/content-database-sizing-guidance-for-sharepoint-2010/</guid>
      <description><![CDATA[I ran across this information on https://technet.microsoft.com/en-us/library/cc262787.aspx&nbsp;about...]]></description>
      <content:encoded><![CDATA[<p>I ran across this information on <a href="https://technet.microsoft.com/en-us/library/cc262787.aspx">https://technet.microsoft.com/en-us/library/cc262787.aspx</a>&nbsp;about content database sizing for SharePoint 2010. This new guidance for SP 2010 has changed from MOSS 2007/WSS 3.0. I had to read it a couple of times to see what it is saying but here is my interpretation of it:</p>
<p>Basically, if you have more than one site collection in the database, stay under 100GB. If you only have 1 site collection in the database and are using it for collaboration, you can go up to 200GB. You can go up to 1TB&nbsp;if that&nbsp;content is not for active collaboration and is primarily read-only content(e.g. Records Center). </p>
<p>&nbsp;</p>]]></content:encoded>
    </item>
    <item>
      <title>Remote debugging your SharePoint 2010 Sandbox solution</title>
      <link>https://docs.microsoft.com/archive/blogs/pedrorod/remote-debugging-your-sharepoint-2010-sandbox-solution</link>
      <pubDate>Fri, 09 Jul 2010 16:27:28 GMT</pubDate>
      <dc:creator><![CDATA[Pete Rodriguez]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/pedrorod/2010/07/09/remote-debugging-your-sharepoint-2010-sandbox-solution/</guid>
      <description><![CDATA[I’m a big fan of sandboxed solutions because in addition to the safety features of running outside...]]></description>
      <content:encoded><![CDATA[<p>I’m a big fan of sandboxed solutions because in addition to the safety features of running outside of the IIS worker process, you also are more agile as a developer. Farm solutions deployed in the GAC reset your web application after each deployment which means you may have to wait (typically 30 seconds or more) every time you deploy.    <br /></p>  <p>Should you find yourself having to debug a sandbox solution remotely you can do the following to get it working. </p>  <ul>   <li>First, make sure that you have the Microsoft SharePoint Foundation Sandboxed Code Service running in Central Administration: </li> </ul>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/06/28/metablogapi/5554.image_0442F804.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-06-28-metablogapi/5554.image_5F00_0442F804.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/06/28/metablogapi/3884.image_thumb_6D3476C7.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-06-28-metablogapi/3884.image_5F00_thumb_5F00_6D3476C7.png" width="583" height="417" /></a> </p>  <p>Note: In a multiple server farm deployment, you will want to make sure this service is running on only 1 machine to make things simpler. </p>  <ul>   <li>You will need to copy the debug symbols to the SharePoint server before you can debug. By default the PDB file will be located in your Visual Studio project’s obj directory:      <br /><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/06/28/metablogapi/1346.image_2B4D9179.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-06-28-metablogapi/1346.image_5F00_2B4D9179.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/06/28/metablogapi/8508.image_thumb_7E582E9D.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-06-28-metablogapi/8508.image_5F00_thumb_5F00_7E582E9D.png" width="675" height="230" /></a> </li>    <li>Copy the PDB file to C:\ProgramData\Microsoft\SharePoint\UCCache. Note that c:\ProgramData is a hidden folder. Within this UCCache folder you should see one or more autogenerated folders that look something like this:      <br /><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/06/28/metablogapi/6445.image_0764BA1F.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-06-28-metablogapi/6445.image_5F00_0764BA1F.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/06/28/metablogapi/7041.image_thumb_5ADB8A38.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-06-28-metablogapi/7041.image_5F00_thumb_5F00_5ADB8A38.png" width="530" height="302" /></a>&#160; </li> </ul>  <p>From here you will need to do a search to find your code’s DLL assembly file. Also, this folder may not appear until you first hit the SharePoint page that is using the code. </p>  <ul>   <li>Next, you will need to launch the Remote Debugger x64 (MSVSMON.exe) on the remote SharePoint server. By default this is located in C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Remote Debugger\x64 (note: you need the x64 version). Copy this whole directory to the SharePoint server and launch msvsmon.exe. If it works, you should see something like this: </li> </ul>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/06/28/metablogapi/8105.image_2BA99EA1.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-06-28-metablogapi/8105.image_5F00_2BA99EA1.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/06/28/metablogapi/8524.image_thumb_2B3D6BAC.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-06-28-metablogapi/8524.image_5F00_thumb_5F00_2B3D6BAC.png" width="544" height="191" /></a>&#160;</p>  <ul>   <li>Launch Visual Studio 2010 on your developer machine. Both the developer and server machines should be in the same Active Directory domain for managed code debugging. Open your Visual Studio SharePoint project that you wish to debug. </li>    <li>Launch your web browser and hit the page with your SharePoint code on it </li>    <li>Go into the Debug menu and select Attach to Process. Type the remote server name in the Qualifier box and hit Enter (note: username/domain name will appear in this box automatically). Select the SPUCWorkerProcess.exe. If your User Code service is running under a different account, you may get a warning when you try to attach.      <br /><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/06/28/metablogapi/2337.image_3184423A.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-06-28-metablogapi/2337.image_5F00_3184423A.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/06/28/metablogapi/4426.image_thumb_2F674371.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-06-28-metablogapi/4426.image_5F00_thumb_5F00_2F674371.png" width="470" height="319" /></a> </li>    <li>Go into Modules under the Debug, Windows menu (Ctrl +D M). If all is well, you should see something like this:      <br /><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/06/28/metablogapi/7450.image_58FB0EA4.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-06-28-metablogapi/7450.image_5F00_58FB0EA4.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/06/28/metablogapi/2766.image_thumb_56DE0FDB.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-06-28-metablogapi/2766.image_5F00_thumb_5F00_56DE0FDB.png" width="535" height="358" /></a> </li>    <li>Set a breakpoint in your code and go back to your web page and hit refresh. At this point, Visual Studio should hit your breakpoint.      <br /><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/06/28/metablogapi/8228.image_6A1EC67A.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-06-28-metablogapi/8228.image_5F00_6A1EC67A.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/06/28/metablogapi/4747.image_thumb_7A4A8E73.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-06-28-metablogapi/4747.image_5F00_thumb_5F00_7A4A8E73.png" width="536" height="310" /></a> </li>    <li>Final note, when I was trying this I saw that new autogenerated folders with my code appeared in c:\programdata. If this occurs, re-copy the PDB file. You may also be able to add the PDB file to your Symbol path. However, I did not get this working on my machine (I got Symbol file does not match the module) </li> </ul>]]></content:encoded>
    </item>
    <item>
      <title>How to get a better SharePoint 2010 Management Shell</title>
      <link>https://docs.microsoft.com/archive/blogs/pedrorod/how-to-get-a-better-sharepoint-2010-management-shell</link>
      <pubDate>Wed, 26 May 2010 17:19:01 GMT</pubDate>
      <dc:creator><![CDATA[Pete Rodriguez]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/pedrorod/2010/05/26/how-to-get-a-better-sharepoint-2010-management-shell/</guid>
      <description><![CDATA[You can get the PowerShell_ISE instead of the default PowerShell command window. You will get such...]]></description>
      <content:encoded><![CDATA[<p>You can get the PowerShell_ISE instead of the default PowerShell command window. You will get such niceties as cut and paste using the standard Ctrl-C/Ctrl-V keyboard shortcuts, being able to debug, and create new scripts. To set this up, go to the Start Menu and select Properties on the SharePoint 2010 Management Shell. The following will appear:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/06/28/metablogapi/4186.image_54953F10.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-06-28-metablogapi/4186.image_5F00_54953F10.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/06/28/metablogapi/3021.image_thumb_325D338A.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-06-28-metablogapi/3021.image_5F00_thumb_5F00_325D338A.png" width="173" height="244" /></a> </p>  <p>Change the Target as follows: </p>  <p>From C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoExit&#160; &quot; &amp; ' C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\CONFIG\POWERSHELL\Registration\\sharepoint.ps1 ' &quot;</p>  <p>to C:\Windows\System32\WindowsPowerShell\v1.0\powershell_ise.exe &quot;C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\CONFIG\POWERSHELL\Registration\\sharepoint.ps1&quot;</p>  <p>(Change paths as required)</p>  <p>After it starts up, hit the Run Script (F5) button to run the script.</p>  <p>At this point, you can work in the PowerShell_ISE</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/06/28/metablogapi/1768.image_1C271838.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-06-28-metablogapi/1768.image_5F00_1C271838.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/06/28/metablogapi/1460.image_thumb_212955E7.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-06-28-metablogapi/1460.image_5F00_thumb_5F00_212955E7.png" width="244" height="174" /></a></p>]]></content:encoded>
    </item>
    <item>
      <title>Fun with Remote Blob Storage and SharePoint 2010</title>
      <link>https://docs.microsoft.com/archive/blogs/pedrorod/fun-with-remote-blob-storage-and-sharepoint-2010</link>
      <pubDate>Fri, 23 Apr 2010 12:40:51 GMT</pubDate>
      <dc:creator><![CDATA[Pete Rodriguez]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/pedrorod/2010/04/23/fun-with-remote-blob-storage-and-sharepoint-2010/</guid>
      <description><![CDATA[If you haven’t heard, SharePoint 2010 allows you to use FileStream from SQL Server 2008/2008 R2 and...]]></description>
      <content:encoded><![CDATA[<p>If you haven’t heard, SharePoint 2010 allows you to use FileStream from SQL Server 2008/2008 R2 and the Remote Blob Storage provider so that that you can now use cheap storage to store documents outside of SQL Server! </p>  <p>These articles were especially helpful in getting this working: </p>  <p><a href="https://blogs.msdn.com/opal/archive/2010/03/24/faq-sharepoint-2010-remote-blob-storage-rbs.aspx">https://blogs.msdn.com/opal/archive/2010/03/24/faq-sharepoint-2010-remote-blob-storage-rbs.aspx</a></p>  <p><a href="https://technet.microsoft.com/en-us/library/ee663474(office.14).aspx">https://technet.microsoft.com/en-us/library/ee663474(office.14).aspx</a></p>  <p><a title="https://www.toddklindt.com/blog/Lists/Posts/Post.aspx?ID=174" href="https://www.toddklindt.com/blog/Lists/Posts/Post.aspx?ID=174">https://www.toddklindt.com/blog/Lists/Posts/Post.aspx?ID=174</a></p>  <p>SQL Server saves all of the blobs in an NTFS directory of your choosing:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/pedrorod/WindowsLiveWriter/FunwithRemoteBlobStorageandSharePoint201_CE6D/blobstore_2.png" original-url="https://blogs.msdn.com/blogfiles/pedrorod/WindowsLiveWriter/FunwithRemoteBlobStorageandSharePoint201_CE6D/blobstore_2.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="blobstore" border="0" alt="blobstore" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/pedrorod/WindowsLiveWriter/FunwithRemoteBlobStorageandSharePoint201_CE6D/blobstore_thumb.png" original-url="https://blogs.msdn.com/blogfiles/pedrorod/WindowsLiveWriter/FunwithRemoteBlobStorageandSharePoint201_CE6D/blobstore_thumb.png" width="361" height="227" /></a> </p>  <p>For fault tolerance you would want this to be a shared drive on a SAN that is shared between the nodes in the Windows cluster. </p>  <p>Here are some additional points to keep in mind: </p>  <p>1) These files are not encrypted by default. If you take a file and change the file extension to the appropriate type (PDF, DOCX, etc.), an administrator will be able to view it. </p>  <p>2) If you delete a BLOB in the file system, SharePoint will return a 404 error when you attempt to open the file, but the icon will still show up in the document library. </p>  <p>3) If an administrator attempts to modify the file outside of SharePoint, Office will report that the file is corrupt but it will still open as a new file. </p>]]></content:encoded>
    </item>
    <item>
      <title>Eval causes error in master page after SP 2010 upgrade</title>
      <link>https://docs.microsoft.com/archive/blogs/pedrorod/eval-causes-error-in-master-page-after-sp-2010-upgrade</link>
      <pubDate>Wed, 21 Apr 2010 08:20:00 GMT</pubDate>
      <dc:creator><![CDATA[Pete Rodriguez]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/pedrorod/2010/04/21/eval-causes-error-in-master-page-after-sp-2010-upgrade/</guid>
      <description><![CDATA[I've been doing a few trial database attach upgrades by taking 2007 content databases and attaching...]]></description>
      <content:encoded><![CDATA[<P>I've been doing a few trial database attach upgrades by taking 2007 content databases and attaching them to SharePoint 2010. One of them had a custom master page and after upgrade returned this error:</P>
<P><SPAN id=ctl00_PlaceHolderMain_LabelMessage>An error occurred during the processing of /_catalogs/masterpage/Intranet.master. Code blocks are not allowed in this file.</SPAN>&nbsp;</P>
<P>I tracked it down to this code block: </P>
<P>&lt;%# Eval("text") %&gt;&lt;/div&gt;</P>
<P>It's easy to forget but you have to manually migrate settings from the old 2007 web.config to the new one. The one that allows script blocks is:</P>
<P>&lt;PageParserPaths&gt;<BR>&lt;PageParserPath VirtualPath="/_catalogs/masterpage/Intranet.master" CompilationMode="Always" AllowServerSideScript="true" /&gt;<BR>&lt;/PageParserPaths&gt;</P>
<P>Other possible workarounds are to 1) remove the offending Eval (note: you'll lose functionality) or 2) change the master page to default.master by going to _layouts/settings.aspx and click the Master page link.</P>
<P>&nbsp;&nbsp;</P>
<P mce_keep="true">&nbsp;</P>]]></content:encoded>
    </item>
    <item>
      <title>Optimize your developer workstation by starting/stopping SharePoint's Windows Services</title>
      <link>https://docs.microsoft.com/archive/blogs/pedrorod/optimize-your-developer-workstation-by-startingstopping-sharepoints-windows-services</link>
      <pubDate>Mon, 11 Jan 2010 12:01:00 GMT</pubDate>
      <dc:creator><![CDATA[Pete Rodriguez]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/pedrorod/2010/01/11/optimize-your-developer-workstation-by-startingstopping-sharepoints-windows-services/</guid>
      <description><![CDATA[If you are running Windows 7/Vista to run SharePoint 2010, you've probably discovered that you may...]]></description>
      <content:encoded><![CDATA[<P>If you are running Windows 7/Vista to run SharePoint 2010, you've probably discovered that you may not necessarily need SharePoint to be&nbsp;running in the background all the time. I've compiled a list of the services that SharePoint Server uses (let me know if I'm missing any). Save these into a couple of .BAT files (e.g. startsharepoint.bat and stopsharepoint.bat) and you can start and stop SharePoint whenever you need to:</P>
<P>&nbsp;startsharepoint.bat:</P>
<P>net start IISADMiN<BR>net start w3svc<BR>net start DCLauncher14<BR>net start DCLoadBalancer14<BR>net start MSSQL$SHAREPOINT<BR>net start SQLWriter<BR>net start WebAnalyticsService<BR>net start SPTimerV4<BR>net start SPTraceV4<BR>net start W3SVC<BR>net start SPWriterV4<BR>net start SPAdminV4<BR>net start OSearch14<BR>net start SPSearch4<BR>net start SPUserCodeV4</P>
<P>stopsharepoint.bat:</P>
<P>net stop IISADMiN<BR>net stop w3svc<BR>net stop DCLauncher14<BR>net stop DCLoadBalancer14<BR>net stop MSSQL$SHAREPOINT<BR>net stop SQLWriter<BR>net stop WebAnalyticsService<BR>net stop SPTimerV4<BR>net stop SPTraceV4<BR>net stop SPUserCodeV4<BR>net stop W3SVC<BR>net stop SPWriterV4<BR>net stop SPAdminV4<BR>net stop OSearch14<BR>net stop SPSearch4</P>
<P>Note that this list is for SharePoint Server. If you are running SharePoint Foundation, you won't need all of the ones listed above. Also, if you are running SQL Server rather than SQL Express, then change MSQL$SharePoint to MSSQLServer. <BR></P>
<P><STRONG>Update: </STRONG>Accidentally had the User Profile Service for Windows in there. Removed it. Thanks, Pete</P>]]></content:encoded>
    </item>
    <item>
      <title>Running SharePoint on a native boot VHD</title>
      <link>https://docs.microsoft.com/archive/blogs/pedrorod/running-sharepoint-on-a-native-boot-vhd</link>
      <pubDate>Fri, 14 Aug 2009 11:39:04 GMT</pubDate>
      <dc:creator><![CDATA[Pete Rodriguez]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/pedrorod/2009/08/14/running-sharepoint-on-a-native-boot-vhd/</guid>
      <description><![CDATA[Now that both Windows Server 2008 R2 and Windows 7 have RTM’d I’ve been experimenting with running...]]></description>
      <content:encoded><![CDATA[<p>Now that both Windows Server 2008 R2 and Windows 7 have RTM’d I’ve been experimenting with running SharePoint in a native boot VHD and it is working very well! Previously I was using Windows Server 2008 x64 with Hyper-V to dual boot my laptop which has 4GB of RAM to use as my SharePoint development environment. This worked okay but it had two disadvantages. First, you have to have multiple hard drive partitions. I had made a second 32GB partition for Win2K8 but had wasted space in the second partition. Second, I could only use 2GB of RAM for the VM because the VM host needed memory as well. The great thing about native boot to VHD is that the VHD only takes up as much space as it requires <strong>except </strong>while it is actually running. I haven’t seen this mentioned much but something to keep in mind about using an OS that has been booted from a VHD is that if you are using a dynamic disk and set its maximum size to say 64GB, then it will expand to its maximum size of 64GB at boot time. If you don’t have enough space for this, you will get a blue screen on startup. This is unlike how a dynamic disk works in Hyper-V. So if you are in the habit of setting the maximum size of your VHD’s to a large number, don’t do that unless you have all the space available. You could work around this by using multiple VHD’s (one for the OS and one for programs and data) and setting the max size of the OS VHD to a reasonable value (e.g. 32GB). </p>  <p>Currently, I have the tech beta of SP 2010 in the native boot VHD and have set all the SharePoint, web, and SQL services to manual start. As you may know from <a href="https://blogs.msdn.com/sharepoint">https://blogs.msdn.com/sharepoint</a>, SharePoint 2010 is going to require x64 and likely more RAM to run well than SP 2007 so native boot VHD is definitely better than trying to run it in VM on a laptop. While we are supporting running SharePoint on Windows 7 x64 or Vista x64, I decided that it was probably a better idea not to install it on my production Win 7 environment. You can even enable Hyper-V in the native boot VHD! I’m doing this to run MOSS 2007 x86. </p>  <p>This resource helped me during the setup. Essentially, you have to add a virtual disk in Windows 7 and then start Windows Server 2008 R2 setup and use the virtual disk. <a title="https://technet.microsoft.com/en-us/library/dd799299(WS.10).aspx" href="https://technet.microsoft.com/en-us/library/dd799299(WS.10).aspx">https://technet.microsoft.com/en-us/library/dd799299(WS.10).aspx</a></p>]]></content:encoded>
    </item>
  </channel>
</rss>