Showing posts from July, 2015

PowerShell Command List used in SharePoint 2010

PowerShell Command which are common in use for a SharePoint Developer.

Backup-SPSite http://oldsite -Path C:\backup\sitename.bak

Restore-SPSite http://newsite -Path C:\backup\sitename.bak

Add-SPsolution "C:\File1.wsp"

Update WSP
Update-SpSolution -Identity File1.wsp -LiteralPath "C:\File1.wsp" -GACDeployment

Install WSP
Install-SPSolution -Identity "File.wsp"  -WebApplication "http://siteurl"

Enable-SPFeature -identity "MyFeature" -URL "http://siteurl"

Disable Feature
Disable-SPFeature -identity "MyFeature" -URL "http://siteurl"

Install-SPFeature -path "MySPFeature1"

Uninstall Feature
Uninstall-SPFeature -Identity "MySPFeature1"

Get Farm ID

How to create a secure webservice in

Web service is a way to communicate between 2 machines via http, those 2 machines can be on different platform.
See more about web service at this url :

As you know web service is a way to communicate over http, so the main concern here is security.
What are the possibilities and ways to make a secure web service.

Below are few authentication options that are available to web service in ASP.Net

Windows BasicWindows Basic Over SSLWindows Client CertificatesCustom SOAP Headers In this blog I will explain about how can we secure web service using Custom SOAP Header.
SOAP web service includes following items it it. SOAP Envelop, SOAP Header, SOAP Body, SOAP Fault
Lets implement Custom SOAP Header by an example.
Create a Web Project in Visual Studio, Add web service in your project.
Write Below code:

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Script.Serialization; u…

Throttling and Indexing in SharePoint List

Throttling and Indexing in SharePoint List

In SharePoint, List is like a table with rows and columns.Similar to SQL tables SharePoint List need indexing if contains heavy amount of data else it will degrade the performance of SharePoint application.

So what is indexing?
Indexing in SharePoint list is similar to indexing in SQL database, but in SharePoint list indexing is maintained by SharePoint and not by SQL.

Indexing columns in a SharePoint List will improve the performance. A SharePoint List support maximum 20 indices. And also remember that not all column data types can be indexed.

Now we will move to Query Throttling.
Query throttling is a new feature in SharePoint 2010. It limits the list items that will be accessed in a single request. By default its limit is 5000 for users and 20,000 for SharePoint Admin.

List View Threshold can be overridden by using below property.

To manage Query throttling settings you can use SPList.EnableThrottling.
Click Here to kno…

Resource Throttling Setting unable to open, Error message is Updates are currently disallowed on GET requests.

Updates are currently disallowed on GET requests. To allow updates on a GET, set the 'AllowUnsafeUpdates' property on SPWeb.

I searched on google and found the solution.
You need to update webapplication throttle setting through powershell command

$w = get-spwebapplication http://mysite:2015

List Threshold setting page should open now.

What is QueryThrottleMode in SPQuery Class?

As per MSDN definition, QueryThrottleMode is a property of SPQuery class which gets or sets value that indicate the throttling mode to be applied to the query.

As we know that List Throttling is a new option available in SharePoint 2010. List Throttling limits the list data that will be fetched in a single request.
Beyond the limit, request will not be allowed.

 ListView Threshold limit can be set through Central Admin and is applicable for web application that will be selected.

QueryThrottleMode property can be used with SPQuery and SPSiteDataQuery  object as shown in below code.

SPList spList = spWeb.Lists["mylist"];
                SPQuery spQuery = new SPQuery(spList .DefaultView);
                spQuery.QueryThrottleMode = SPQueryThrottleOption.Override;

QueryThrottleMode has 3 enum values:
Default - 0
Override - 1
Strict - 2

Logging to ULS in SharePoint 2010.

ULS stands for Unified Logging Service
ULS helps developer to avoid debugging code again and again to find out bugs.
ULS clearly specifies the error in details.
Generally SharePoint logs can be found at hive folder i.e. \14\LOGS
But this log file is not an easy task to read and understand.

To make it easy you should use tools like ULS viewer.
Download ULS viewer to read logs.

To write log in ULS need to write below code.

Please add 2 namespace:

using Microsoft.SharePoint;
using Microsoft.SharePoint.Administration;

protected void btnUpdate_Click(object sender, EventArgs e)
                using (SPSite site = new SPSite("http://myspsite:1985"))
                    using (SPWeb web = site.OpenWeb())
                        SPList list = web.Lists["mylist1"];
                        SPListItemCollection items = list.GetItems();
                        web.AllowUnsafeUpdates = true;

What is delegate control? Why to use it?

Delegate control allow developers to manage control on master page without touching or editing master page.

Actually delegate control is associated with a feature. Whenever that feature is active delegate control will be visible and if associated feature is de-active delegate control will not be visible to users.

Lets implement this by an example.
To do this, create a SharePoint project in Visual Studio 2010.
Add an user control and a module in your project.

Now your project hierarchy should look like this.

Write below line of code in UserControl1.ascx

 <h1>This is my Delegate Control Demo</h1> 

Now open Element.xml file under Module1.

Remove code between <Elements> ......</Elements> tags
So your new Elements.xml file should look like this.

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="">
  <Control Id="mytest" Sequence="1000" ControlSrc="~/_cont…

The method "GetItems" of the type "List" with id "{Guid}" is blocked by the administrator on the server.

I was working on SharePoint Client Context, and i was writing a piece of code to fetch items from SharePoint list.

I got this error at this line:

I solved this issue by executing powershell command.
Open SharePoint Powershell  and type below command one by one.

$webapp = Get-SPWebApplication "http://spserver"$webapp.ClientCallableSettings.AnonymousRestrictedTypes.Remove([microsoft.sharepoint.splist], "GetItems")$webapp.Update()Open SharePoint Powershell  and type below command one by one.Now run your code, you can now access SharePoint List Data.

Powershell Command to add a file to root of SharePoint

This blog will explain about adding a file to SharePoint root.
Generally sharepoint structure is http://server/pages/page1.html
Suppose you need to add a file in root which should access by http://server/page1.html

This can be done by powershell command.

Write-Host "Powershell started....."
Add-PSSnapIn Microsoft.SharePoint.PowerShell
$fileBytes = []::ReadAllBytes("C:\myfolder\page1.html");
$site = Get-SPSite "http://server";
$site.RootWeb.Files.Add("page1.html", $fileBytes, $true);
Write-Host "Done..."

Create SharePoint List with Code and CAML

CAML is an XML based language used for access SharePoint objects like List, Library, Content Type, Site Columns.

To know more about CAML Query, please visit my another blog post Learn CAML Query step by Step
CAML comes under declarative and the code that we write using SharePoint server object model comes under imperative programming.

Interview Questions and Answer in ASP.Net

The ASP.Net Questions and Answers available in this blog are helpful for beginners as well as for experienced developers.

Below are the most important interview questions and answers.

Linq in C# Programming

Before using LINQ in C#, please read my earlier blog to get some basic idea about what is LINQ?

LINQ can be used in C# in different ways :

One way is to use with Lambda Expression
Another way is to use Anonymous function

Below code will return string of length less than 5.

string[] countryArr = { "India", "USA", "UK", "China", "Japan", "Germany", "Australia" }; var data = countryArr.Where(a => a.Length < 5).Select(a => a); foreach (string sdata in data)             { Console.WriteLine(sdata);
O/P : - USA, UK

Above code can be written using Anonymous function

Write below function

Func<string, bool> wh = delegate (string s)         { return s.Length < 5; }; Func<string, string> sel = delegate (string s)         { return s; };
Below function to implement the LINQ

privatevoid PrintData()         { string[] countryArr = { "India", "USA", "UK", "China", "Ja…