<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2744318502197942025</id><updated>2024-10-24T03:32:06.104-07:00</updated><category term="General Asp.net"/><category term="SharePoint 2016"/><category term="SP2016"/><category term="SharePoint Server"/><category term="Asp.net Controls"/><category term="MVC"/><category term="MinRole"/><category term="SEO"/><title type='text'>Dot Net web development</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://webdevelopmentgeeks.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2744318502197942025/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://webdevelopmentgeeks.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Blogger</name><uri>http://www.blogger.com/profile/03013569173115394417</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>16</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2744318502197942025.post-7968824974214161144</id><published>2015-09-25T21:18:00.003-07:00</published><updated>2015-09-25T21:18:57.528-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint 2016"/><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Server"/><category scheme="http://www.blogger.com/atom/ns#" term="SP2016"/><title type='text'>Fast Site Collection Creation in SharePoint Server 2016 IT Preview</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;b&gt;Fast Site Collection Creation in SharePoint Server 2016 IT Preview&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Fast Site Collection Creation is a new capability in SharePoint Server 2016 IT Preview that improves Site Collection creation performance by reducing Feature activation overhead. Similar to the approach associated with MinRole Site Collections that support Fast Site Collection Creation are Feature-optimized.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Fast Site Collection Creation is a mechanism designed to improve provision performance of Site Collections through instrumenting a copy operation using SPSite.Copy at the Content Database level.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;The primary vehicle in addressing this scenario is the enablement of a Site Master or master copy of the Site Collection for an enabled Template that provides the source Site Collection when a request is made for creating a new Site Collection.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
Full list of&amp;nbsp;&lt;a href=&quot;http://webdevelopmentgeeks.blogspot.my/2015/09/new-and-improved-features-in-sharepoint.html&quot;&gt;New and improved features in SharePoint Server 2016 IT Preview&lt;/a&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://webdevelopmentgeeks.blogspot.com/feeds/7968824974214161144/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webdevelopmentgeeks.blogspot.com/2015/09/fast-site-collection-creation-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2744318502197942025/posts/default/7968824974214161144'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2744318502197942025/posts/default/7968824974214161144'/><link rel='alternate' type='text/html' href='http://webdevelopmentgeeks.blogspot.com/2015/09/fast-site-collection-creation-in.html' title='Fast Site Collection Creation in SharePoint Server 2016 IT Preview'/><author><name>Blogger</name><uri>http://www.blogger.com/profile/03013569173115394417</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2744318502197942025.post-5573806402874161430</id><published>2015-09-23T02:40:00.001-07:00</published><updated>2015-09-23T02:43:52.033-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint 2016"/><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint Server"/><category scheme="http://www.blogger.com/atom/ns#" term="SP2016"/><title type='text'>Document Library accessibility improvement in SharePoint Server 2016 IT Preview</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;strong style=&quot;color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18px;&quot;&gt;Document Library accessibility:&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;span style=&quot;color: #2a2a2a; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-MY;&quot;&gt;The following features are now available for working in SharePoint
Server 2016 IT Preview document libraries:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;ul style=&quot;margin-top: 0cm;&quot; type=&quot;disc&quot;&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;color: #2a2a2a; line-height: 13.5pt; margin-bottom: .0001pt; margin-bottom: 0cm; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-MY;&quot;&gt;Landmarks to a page make it
     easier to navigate, and there are alt text improvements for all major
     navigation links.&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;color: #2a2a2a; line-height: 13.5pt; margin-bottom: .0001pt; margin-bottom: 0cm; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-MY;&quot;&gt;Keyboard shortcuts are
     provided for the following document tasks:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;ul style=&quot;margin-top: 0cm;&quot; type=&quot;circle&quot;&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;color: #2a2a2a; line-height: 13.5pt; margin-bottom: .0001pt; margin-bottom: 0cm; mso-list: l0 level2 lfo1; tab-stops: list 72.0pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-MY;&quot;&gt;Alt +&amp;nbsp;&lt;b&gt;N&lt;/b&gt;&amp;nbsp;-&amp;nbsp;&lt;b&gt;N&lt;/b&gt;ew&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;color: #2a2a2a; line-height: 13.5pt; margin-bottom: .0001pt; margin-bottom: 0cm; mso-list: l0 level2 lfo1; tab-stops: list 72.0pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-MY;&quot;&gt;Alt +&amp;nbsp;&lt;b&gt;E&lt;/b&gt;&amp;nbsp;-&amp;nbsp;&lt;b&gt;E&lt;/b&gt;dit&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;color: #2a2a2a; line-height: 13.5pt; margin-bottom: .0001pt; margin-bottom: 0cm; mso-list: l0 level2 lfo1; tab-stops: list 72.0pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-MY;&quot;&gt;Alt +&amp;nbsp;&lt;b&gt;U&lt;/b&gt;&amp;nbsp;-&amp;nbsp;&lt;b&gt;U&lt;/b&gt;pload&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;color: #2a2a2a; line-height: 13.5pt; margin-bottom: .0001pt; margin-bottom: 0cm; mso-list: l0 level2 lfo1; tab-stops: list 72.0pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-MY;&quot;&gt;Alt +&amp;nbsp;&lt;b&gt;M&lt;/b&gt;&amp;nbsp;-&amp;nbsp;&lt;b&gt;M&lt;/b&gt;anage&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;color: #2a2a2a; line-height: 13.5pt; margin-bottom: .0001pt; margin-bottom: 0cm; mso-list: l0 level2 lfo1; tab-stops: list 72.0pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-MY;&quot;&gt;Alt +&amp;nbsp;&lt;b&gt;S&lt;/b&gt;&amp;nbsp;-&amp;nbsp;&lt;b&gt;S&lt;/b&gt;hare&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;color: #2a2a2a; line-height: 13.5pt; margin-bottom: .0001pt; margin-bottom: 0cm; mso-list: l0 level2 lfo1; tab-stops: list 72.0pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-MY;&quot;&gt;Alt +&amp;nbsp;&lt;b&gt;Y&lt;/b&gt;&amp;nbsp;-
      S&lt;b&gt;y&lt;/b&gt;nchronization&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;color: #2a2a2a; line-height: 13.5pt; margin-bottom: .0001pt; margin-bottom: 0cm; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-MY;&quot;&gt;Focus improvements, such as
     keeping focus on prior elements and focus trapping.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;color: #2a2a2a; line-height: 13.5pt; margin-bottom: .0001pt; margin-bottom: 0cm; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-MY;&quot;&gt;Announcements for upload
     progress.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;color: #2a2a2a; line-height: 13.5pt; margin-bottom: .0001pt; margin-bottom: 0cm; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-MY;&quot;&gt;Announcements for file name
     and file types when browsing folder and file lists.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;color: #2a2a2a; line-height: 13.5pt; margin-bottom: .0001pt; margin-bottom: 0cm; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-MY;&quot;&gt;Improved callout reading.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;color: #2a2a2a; line-height: 13.5pt; margin-bottom: .0001pt; margin-bottom: 0cm; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-MY;&quot;&gt;Fixed use of color issues
     for views switcher.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;color: #2a2a2a; line-height: 13.5pt; margin-bottom: .0001pt; margin-bottom: 0cm; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-MY;&quot;&gt;Updates to the Help
     documentation.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;br /&gt;
Full list of&amp;nbsp;&lt;a href=&quot;http://webdevelopmentgeeks.blogspot.my/2015/09/new-and-improved-features-in-sharepoint.html&quot;&gt;New and improved features in SharePoint Server 2016 IT Preview&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://webdevelopmentgeeks.blogspot.com/feeds/5573806402874161430/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webdevelopmentgeeks.blogspot.com/2015/09/document-library-accessibility.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2744318502197942025/posts/default/5573806402874161430'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2744318502197942025/posts/default/5573806402874161430'/><link rel='alternate' type='text/html' href='http://webdevelopmentgeeks.blogspot.com/2015/09/document-library-accessibility.html' title='Document Library accessibility improvement in SharePoint Server 2016 IT Preview'/><author><name>Blogger</name><uri>http://www.blogger.com/profile/03013569173115394417</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2744318502197942025.post-6283459871894643135</id><published>2015-09-23T01:01:00.000-07:00</published><updated>2015-09-25T21:22:48.053-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="MinRole"/><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint 2016"/><title type='text'>New and improved features in SharePoint Server 2016 IT Preview</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 13px;&quot;&gt;Summary of the new features that you can try out in this SharePoint Server 2016 IT Preview release.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 13px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;strong&gt;&lt;span style=&quot;color: #2a2a2a; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt;&quot;&gt;&lt;a href=&quot;http://webdevelopmentgeeks.blogspot.my/2015/09/document-library-accessibility.html&quot;&gt;DocumentLibrary accessibility:&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;color: #2a2a2a; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt;&quot;&gt;SharePoint
Server 2016 IT Preview includes new document library accessibility features.&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;strong&gt;&lt;span style=&quot;color: #2a2a2a; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt;&quot;&gt;Durable
links:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;color: #2a2a2a; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt;&quot;&gt;Resource-based
URLs now retain links when documents are renamed or moved in SharePoint.&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;strong&gt;&lt;span style=&quot;color: #2a2a2a; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt;&quot;&gt;&lt;a href=&quot;http://webdevelopmentgeeks.blogspot.my/2015/09/fast-site-collection-creation-in.html&quot;&gt;FastSite Collection Creation:&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;color: #2a2a2a; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt;&quot;&gt;The
Fast Site Collection Creation feature is a rapid method to create site
collections and sites in SharePoint.&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;strong&gt;&lt;span style=&quot;color: #2a2a2a; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt;&quot;&gt;Image
and Video previews:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;color: #2a2a2a; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt;&quot;&gt;You
can now preview images and videos in SharePoint Server 2016 IT Preview document
libraries.&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;strong&gt;&lt;span style=&quot;color: #2a2a2a; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt;&quot;&gt;Access
Services:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;color: #2a2a2a; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt;&quot;&gt;New
Access features are available when you deploy Access Services in SharePoint
Server 2016 IT Preview.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;strong&gt;&lt;span style=&quot;color: #2a2a2a; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt;&quot;&gt;Compliance
features:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;color: #2a2a2a; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt;&quot;&gt;New
compliance features for SharePoint Server 2016 IT Preview include the document
deletion and in-place hold policies.&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;strong&gt;&lt;span style=&quot;color: #2a2a2a; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt;&quot;&gt;Customized
web parts:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;color: #2a2a2a; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt;&quot;&gt;The
compile time for customized XSLT files used for Content Query, Summary Links,
and Table of Contents Web Parts is improved.&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;strong&gt;&lt;span style=&quot;color: #2a2a2a; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt;&quot;&gt;Encrypted
Connections:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;color: #2a2a2a; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt;&quot;&gt;SharePoint
Server 2016 IT Preview supports TLS 1.2 connection encryption by default.&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;strong&gt;&lt;span style=&quot;color: #2a2a2a; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt;&quot;&gt;Filenames
- expanded support for special characters:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;color: #2a2a2a; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt;&quot;&gt;SharePoint
Server 2016 IT Preview now supports using some special characters in file names
that were previously blocked.&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;strong&gt;&lt;span style=&quot;color: #2a2a2a; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt;&quot;&gt;Hybrid
in SharePoint 2016:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;color: #2a2a2a; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt;&quot;&gt;Hybrid
in SharePoint Server 2016 IT Preview enables you to integrate your on-premises
farm with Office 365 productivity experiences, allowing you to adopt the cloud
at your own pace.&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;strong&gt;&lt;span style=&quot;color: #2a2a2a; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt;&quot;&gt;Identify
and Search for sensitive content:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;color: #2a2a2a; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt;&quot;&gt;SharePoint
Server 2016 IT Preview now provides the same data loss prevention capabilities
as Office 365.&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;strong&gt;&lt;span style=&quot;color: #2a2a2a; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt;&quot;&gt;Information
Rights Management:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;color: #2a2a2a; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt;&quot;&gt;SharePoint
Server 2016 IT Preview provides Information Rights Management (IRM)
capabilities to secure information by encrypting and securing information on
SharePoint libraries with OneDrive for Business.&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;strong&gt;&lt;span style=&quot;color: #2a2a2a; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt;&quot;&gt;Large
file support:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;color: #2a2a2a; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt;&quot;&gt;SharePoint
Server 2016 IT Preview now supports uploading and downloading files larger than
2,047 MB.&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;strong&gt;&lt;span style=&quot;color: #2a2a2a; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt;&quot;&gt;MinRole:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;color: #2a2a2a; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt;&quot;&gt;MinRole
is a new feature in SharePoint Server 2016 IT Preview that allows a SharePoint
farm administrator to define each server’s role in a farm topology.&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;strong&gt;&lt;span style=&quot;color: #2a2a2a; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt;&quot;&gt;Mobile
experience:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;color: #2a2a2a; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt;&quot;&gt;SharePoint
Server 2016 IT Preview offers an improved mobile navigation experience.&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;strong&gt;&lt;span style=&quot;color: #2a2a2a; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt;&quot;&gt;New
controls for working with OneDrive for Business:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;color: #2a2a2a; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt;&quot;&gt;SharePoint
Server 2016 IT Preview provides controls at the top of your personal document
folders that make common tasks in OneDrive for Business more accessible.&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;strong&gt;&lt;span style=&quot;color: #2a2a2a; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt;&quot;&gt;New
Recycle Bin in OneDrive and Team sites:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;color: #2a2a2a; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt;&quot;&gt;SharePoint
Server 2016 IT Preview adds a link for the Recycle Bin in the left navigation
area of the OneDrive and Team sites.&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;strong&gt;&lt;span style=&quot;color: #2a2a2a; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt;&quot;&gt;Open
Document Format (ODF):&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;color: #2a2a2a; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt;&quot;&gt;SharePoint
Server 2016 IT Preview adds support for Open Document Format (ODF) files to use
in document library templates.&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;strong&gt;&lt;span style=&quot;color: #2a2a2a; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt;&quot;&gt;Project
Server:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;color: #2a2a2a; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt;&quot;&gt;New Project
Server features are available in SharePoint Server 2016 IT Preview.&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;strong&gt;&lt;span style=&quot;color: #2a2a2a; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt;&quot;&gt;ReFS
file system support:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;color: #2a2a2a; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt;&quot;&gt;SharePoint
Server 2016 IT Preview now supports drives that are formatted with the ReFS
file system.&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;strong&gt;&lt;span style=&quot;color: #2a2a2a; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt;&quot;&gt;SharePoint
Search:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;color: #2a2a2a; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt;&quot;&gt;SharePoint
Search Server Application has significant changes to its deployment.&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;strong&gt;&lt;span style=&quot;color: #2a2a2a; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt;&quot;&gt;Sharing
improvements:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;color: #2a2a2a; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt;&quot;&gt;SharePoint
Server 2016 IT Preview has many new sharing improvements available.&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;strong&gt;&lt;span style=&quot;color: #2a2a2a; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt;&quot;&gt;Site
Folders view:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;color: #2a2a2a; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt;&quot;&gt;SharePoint
Server 2016 IT Preview provides a new Site Folders view that lets you access
the document libraries in sites that you&#39;re following.&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;strong&gt;&lt;span style=&quot;color: #2a2a2a; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt;&quot;&gt;Sites
page pinning:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;color: #2a2a2a; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt;&quot;&gt;This
new feature helps you see and follow sites.&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;strong&gt;&lt;span style=&quot;color: #2a2a2a; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt;&quot;&gt;SMTP
Connection Encryption:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;color: #2a2a2a; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt;&quot;&gt;SharePoint
Server 2016 IT Preview supports sending email to SMTP servers that use&lt;span class=&quot;apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style=&quot;font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif;&quot;&gt;STARTTLS&lt;/span&gt;&lt;/strong&gt;&lt;span class=&quot;apple-converted-space&quot;&gt;&amp;nbsp;connection
encryption.&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;strong&gt;&lt;span style=&quot;color: #2a2a2a; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt;&quot;&gt;SMTP
ports (non-default):&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;color: #2a2a2a; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt;&quot;&gt;SharePoint
Server 2016 IT Preview adds support for SMTP servers that use TCP ports other
than the default port (25).&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;strong&gt;&lt;span style=&quot;color: #2a2a2a; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt;&quot;&gt;Web Application
Open Platform Interface Protocol (WOPI):&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;color: #2a2a2a; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt;&quot;&gt;You
can now rename files, create new files, and share files from within the WOPI
iframe on the browser page.&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;color: #2a2a2a; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt;&quot;&gt;Reference:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;line-height: 13.5pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;strong&gt;&lt;span style=&quot;color: #2a2a2a; font-family: &amp;quot;Segoe UI&amp;quot;,sans-serif; font-size: 10.0pt;&quot;&gt;&lt;a href=&quot;https://msdn.microsoft.com/en-us/library/mt346121(v=office.16).aspx&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;https://msdn.microsoft.com/en-us/library/mt346121(v=office.16).aspx&lt;/span&gt;&lt;/a&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://webdevelopmentgeeks.blogspot.com/feeds/6283459871894643135/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webdevelopmentgeeks.blogspot.com/2015/09/new-and-improved-features-in-sharepoint.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2744318502197942025/posts/default/6283459871894643135'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2744318502197942025/posts/default/6283459871894643135'/><link rel='alternate' type='text/html' href='http://webdevelopmentgeeks.blogspot.com/2015/09/new-and-improved-features-in-sharepoint.html' title='New and improved features in SharePoint Server 2016 IT Preview'/><author><name>Blogger</name><uri>http://www.blogger.com/profile/03013569173115394417</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2744318502197942025.post-2637816464970684276</id><published>2014-09-06T09:49:00.001-07:00</published><updated>2014-09-06T09:49:44.418-07:00</updated><title type='text'>Store bytes conent to zip file in C#</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;


&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;You can store bytes in
zip using the GZipStream object.&lt;span style=&quot;background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 8pt;&quot;&gt;
&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;&quot;&gt;
&lt;span style=&quot;background: white; color: blue; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background: white; color: blue; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt;static&lt;/span&gt;&lt;span style=&quot;background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background: white; color: blue; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt;void&lt;/span&gt;&lt;span style=&quot;background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt; CreateZipFromBytes(&lt;/span&gt;&lt;span style=&quot;background: white; color: blue; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt; fileName, &lt;/span&gt;&lt;span style=&quot;background: white; color: blue; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt;byte&lt;/span&gt;&lt;span style=&quot;background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt;[] bytesToCompress)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;&quot;&gt;
&lt;span style=&quot;background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;&quot;&gt;
&lt;span style=&quot;background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background: white; color: blue; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt;using&lt;/span&gt;&lt;span style=&quot;background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt;FileStream&lt;/span&gt;&lt;span style=&quot;background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt; fileToCompress = &lt;/span&gt;&lt;span style=&quot;background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt;File&lt;/span&gt;&lt;span style=&quot;background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt;.Create(fileName))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;&quot;&gt;
&lt;span style=&quot;background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;&quot;&gt;
&lt;span style=&quot;background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background: white; color: blue; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt;using&lt;/span&gt;&lt;span style=&quot;background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt;GZipStream&lt;/span&gt;&lt;span style=&quot;background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt; compressionStream = &lt;/span&gt;&lt;span style=&quot;background: white; color: blue; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt;GZipStream&lt;/span&gt;&lt;span style=&quot;background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt;(fileToCompress, &lt;/span&gt;&lt;span style=&quot;background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt;CompressionMode&lt;/span&gt;&lt;span style=&quot;background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt;.Compress))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;&quot;&gt;
&lt;span style=&quot;background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;&quot;&gt;
&lt;span style=&quot;background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;compressionStream.Write(bytesToCompress, 0, bytesToCompress.Length);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;&quot;&gt;
&lt;span style=&quot;background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;&quot;&gt;
&lt;span style=&quot;background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 8pt;&quot;&gt;
&lt;span style=&quot;background: white; color: black; font-family: Consolas; font-size: 9.5pt; line-height: 107%; mso-highlight: white;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;span style=&quot;color: black; font-family: Consolas; font-size: 9.5pt; line-height: 107%;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://webdevelopmentgeeks.blogspot.com/feeds/2637816464970684276/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webdevelopmentgeeks.blogspot.com/2014/09/store-bytes-conent-to-zip-file-in-c.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2744318502197942025/posts/default/2637816464970684276'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2744318502197942025/posts/default/2637816464970684276'/><link rel='alternate' type='text/html' href='http://webdevelopmentgeeks.blogspot.com/2014/09/store-bytes-conent-to-zip-file-in-c.html' title='Store bytes conent to zip file in C#'/><author><name>Blogger</name><uri>http://www.blogger.com/profile/03013569173115394417</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2744318502197942025.post-1587044251111043745</id><published>2014-09-06T09:46:00.002-07:00</published><updated>2014-09-06T09:46:12.406-07:00</updated><title type='text'>Serialize object to XML with custom object with indentation  </title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;

&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 8pt;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;Serialize object to XML with custom object with
indentation&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;


&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 8pt;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;If you want to serialize object without including the tag
XMLInclude and with nice indentation and formatting use the below method &lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 8pt;&quot;&gt;
&lt;o:p&gt;&lt;span style=&quot;font-family: Calibri;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;&quot;&gt;
&lt;span style=&quot;background: white; color: blue; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background: white; color: blue; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt;static&lt;/span&gt;&lt;span style=&quot;background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt;String&lt;/span&gt;&lt;span style=&quot;background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt; SerializeObject(&lt;/span&gt;&lt;span style=&quot;background: white; color: blue; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt;object&lt;/span&gt;&lt;span style=&quot;background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt; objectToSerialize, &lt;/span&gt;&lt;span style=&quot;background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt;List&lt;/span&gt;&lt;span style=&quot;background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt;Type&lt;/span&gt;&lt;span style=&quot;background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt;&amp;gt; knownTypes)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;&quot;&gt;
&lt;span style=&quot;background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;&quot;&gt;
&lt;span style=&quot;background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt;XmlSerializer&lt;/span&gt;&lt;span style=&quot;background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt; xmlSerializer = &lt;/span&gt;&lt;span style=&quot;background: white; color: blue; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt;XmlSerializer&lt;/span&gt;&lt;span style=&quot;background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt;(objectToSerialize.GetType(), knownTypes.ToArray());&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;&quot;&gt;
&lt;span style=&quot;background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background: white; color: blue; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt;var&lt;/span&gt;&lt;span style=&quot;background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt; stringBuilder = &lt;/span&gt;&lt;span style=&quot;background: white; color: blue; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt;StringBuilder&lt;/span&gt;&lt;span style=&quot;background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt;();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;&quot;&gt;
&lt;span style=&quot;background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background: white; color: blue; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt;var&lt;/span&gt;&lt;span style=&quot;background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt; xmlTextWriter = &lt;/span&gt;&lt;span style=&quot;background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt;XmlTextWriter&lt;/span&gt;&lt;span style=&quot;background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt;.Create(stringBuilder, &lt;/span&gt;&lt;span style=&quot;background: white; color: blue; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background: white; color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt;XmlWriterSettings&lt;/span&gt;&lt;span style=&quot;background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt; { NewLineChars = &lt;/span&gt;&lt;span style=&quot;background: white; color: #a31515; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt;&quot;\r\n&quot;&lt;/span&gt;&lt;span style=&quot;background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt;, Indent = &lt;/span&gt;&lt;span style=&quot;background: white; color: blue; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt; });&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;&quot;&gt;
&lt;span style=&quot;background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;xmlSerializer.Serialize(xmlTextWriter,
objectToSerialize);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;&quot;&gt;
&lt;span style=&quot;background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background: white; color: blue; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt; stringBuilder.ToString();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;&quot;&gt;
&lt;span style=&quot;background: white; color: black; font-family: Consolas; font-size: 9.5pt; mso-highlight: white;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Happy programming&lt;/span&gt; :)&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://webdevelopmentgeeks.blogspot.com/feeds/1587044251111043745/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webdevelopmentgeeks.blogspot.com/2014/09/serialize-object-to-xml-with-custom.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2744318502197942025/posts/default/1587044251111043745'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2744318502197942025/posts/default/1587044251111043745'/><link rel='alternate' type='text/html' href='http://webdevelopmentgeeks.blogspot.com/2014/09/serialize-object-to-xml-with-custom.html' title='Serialize object to XML with custom object with indentation  '/><author><name>Blogger</name><uri>http://www.blogger.com/profile/03013569173115394417</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2744318502197942025.post-2514679275586430915</id><published>2010-10-19T10:10:00.000-07:00</published><updated>2010-10-19T10:30:06.206-07:00</updated><title type='text'>How to strip HTML and special character from string.</title><content type='html'>I have created following function to strip or remove HTML and specail character&amp;nbsp;from string.&lt;br /&gt;
Regular Expression for special character:&lt;span style=&quot;color: #a31515; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #a31515; font-size: x-small;&quot;&gt;([^\w\+\-\\\/_ ])&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #a31515; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #a31515; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt;Regular Expression for HTML strip:&amp;lt;(.\n)+?&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
-------------Code--------------------&lt;br /&gt;
&lt;span style=&quot;color: #a31515; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #a31515; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: black; font-size: small;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;public static string StripHTMLAndSpecialChars(string sHTML)&lt;br /&gt;
{&lt;br /&gt;
string strOutput = StripHTML(sHTML);&lt;br /&gt;
System.Text.RegularExpressions.Regex objRegExp = new System.Text.RegularExpressions.Regex(@&quot;([^\w\+\-\\\/_ ])&quot;);&lt;br /&gt;
//Replace all characters other than ones specified above&lt;br /&gt;
strOutput = objRegExp.Replace(strOutput, &quot;&quot;);&lt;br /&gt;
objRegExp = null;&lt;br /&gt;
return strOutput;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
----------------Function to strip HTML-----------------&lt;br /&gt;
public static string StripHTML(string sHTML)&lt;br /&gt;
{&lt;br /&gt;
string strOutput;&lt;br /&gt;
System.Text.RegularExpressions.Regex objRegExp = new System.Text.RegularExpressions.Regex(&quot;&amp;lt;(.&lt;br /&gt;
\n)+?&amp;gt;&quot;, System.Text.RegularExpressions.RegexOptions.IgnoreCase);&lt;br /&gt;
//Replace all HTML tag matches with the empty string&lt;br /&gt;
strOutput = objRegExp.Replace(sHTML, &quot;&quot;);&lt;br /&gt;
objRegExp = null;&lt;br /&gt;
return strOutput;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
-----------------------------</content><link rel='replies' type='application/atom+xml' href='http://webdevelopmentgeeks.blogspot.com/feeds/2514679275586430915/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webdevelopmentgeeks.blogspot.com/2010/10/how-to-strip-html-and-special-character.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2744318502197942025/posts/default/2514679275586430915'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2744318502197942025/posts/default/2514679275586430915'/><link rel='alternate' type='text/html' href='http://webdevelopmentgeeks.blogspot.com/2010/10/how-to-strip-html-and-special-character.html' title='How to strip HTML and special character from string.'/><author><name>Blogger</name><uri>http://www.blogger.com/profile/03013569173115394417</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2744318502197942025.post-3703150963694213438</id><published>2010-10-18T12:14:00.001-07:00</published><updated>2011-03-22T04:55:46.899-07:00</updated><title type='text'>Capature exception or crashes in asp.net application.</title><content type='html'>we ca&amp;nbsp;capature exception or crashes that are generated &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1-you have added try catch blocks and in catch block you can easily get the text of exception like&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
try&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
catch(Exception ex)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//insert exception in db or any log file (ex.tostring())&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2-There are exception that are not handled through try catch block you can easily get those as well&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
on global_asax there is an event Application_Error you can use it for exception locking&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void Application_Error(object sender, EventArgs e)&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
foreach (Exception ex in Context.AllErrors)&lt;br /&gt;
&lt;br /&gt;
// insert in log or db file;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3.There is another way you store your Unhandled exception just add an event handler on global.asax&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void Application_Start(object sender, EventArgs e)&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
AppDomain.CurrentDomain.UnhandledException +=newUnhandledExceptionEventHandler(CurrentDomain_UnhandledException);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
// store to (e.ExceptionObject as Exception);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}</content><link rel='replies' type='application/atom+xml' href='http://webdevelopmentgeeks.blogspot.com/feeds/3703150963694213438/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webdevelopmentgeeks.blogspot.com/2010/10/capature-exception-or-crashes-in-aspnet.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2744318502197942025/posts/default/3703150963694213438'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2744318502197942025/posts/default/3703150963694213438'/><link rel='alternate' type='text/html' href='http://webdevelopmentgeeks.blogspot.com/2010/10/capature-exception-or-crashes-in-aspnet.html' title='Capature exception or crashes in asp.net application.'/><author><name>Blogger</name><uri>http://www.blogger.com/profile/03013569173115394417</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2744318502197942025.post-1973868783714391988</id><published>2010-10-18T06:35:00.000-07:00</published><updated>2010-10-18T06:35:35.759-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="MVC"/><title type='text'>Allow hyphens in URL’s using ASP.NET MVC 2</title><content type='html'>If you wan’t to allow hyphens in your URL’s you will need to change the way the routing works in your Global.asax file.&lt;br /&gt;
&lt;br /&gt;
First create a new class which extends the MvcRouteHandler and place this in the Global.asax file after the main MvcApplication class.&lt;br /&gt;
&lt;br /&gt;
-----------------Changes in Global.asax-----------------------&lt;br /&gt;
public class HyphenatedRouteHandler : MvcRouteHandler{&lt;br /&gt;
&lt;br /&gt;
protected override IHttpHandler GetHttpHandler(RequestContext requestContext)&lt;br /&gt;
{&lt;br /&gt;
requestContext.RouteData.Values[&quot;controller&quot;] = requestContext.RouteData.Values[&quot;controller&quot;].ToString().Replace(&quot;-&quot;, &quot;_&quot;);&lt;br /&gt;
requestContext.RouteData.Values[&quot;action&quot;] = requestContext.RouteData.Values[&quot;action&quot;].ToString().Replace(&quot;-&quot;, &quot;_&quot;);&lt;br /&gt;
return base.GetHttpHandler(requestContext);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
} &lt;br /&gt;
--------------------------End---------------------- &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
Then you need to replace the routes.MapRoute with an equivalent routes.Add specifying the new handler as the MapRoute does not allow you to specify a custom route handler. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
routes.Add(&lt;br /&gt;
new Route(&quot;{controller}/{action}/{id}&quot;, &lt;br /&gt;
new RouteValueDictionary(&lt;br /&gt;
new { controller = &quot;Default&quot;, action = &quot;Index&quot;, id = &quot;&quot; }),&lt;br /&gt;
new HyphenatedRouteHandler())&lt;br /&gt;
);</content><link rel='replies' type='application/atom+xml' href='http://webdevelopmentgeeks.blogspot.com/feeds/1973868783714391988/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webdevelopmentgeeks.blogspot.com/2010/10/allow-hyphens-in-urls-using-aspnet-mvc.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2744318502197942025/posts/default/1973868783714391988'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2744318502197942025/posts/default/1973868783714391988'/><link rel='alternate' type='text/html' href='http://webdevelopmentgeeks.blogspot.com/2010/10/allow-hyphens-in-urls-using-aspnet-mvc.html' title='Allow hyphens in URL’s using ASP.NET MVC 2'/><author><name>Blogger</name><uri>http://www.blogger.com/profile/03013569173115394417</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2744318502197942025.post-4698832755297044581</id><published>2010-10-18T05:38:00.001-07:00</published><updated>2010-10-18T05:38:17.961-07:00</updated><title type='text'>Main advantages of ASP.net MVC.</title><content type='html'>&lt;ul&gt;&lt;li&gt;&lt;b&gt;Separation of concerns (SoC)&lt;/b&gt; • From a technical standpoint,  the organization of code within MVC is very clean, organized and granular,  making it easier (hopefully) for a web application to scale in terms of  functionality. Promotes great design from a development standpoint.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Easier integration with client side tools (rich user interface  tools)&lt;/b&gt; • More than ever, web applications are increasingly becoming as  rich as the applications you see on your desktops. With MVC, it gives you the  ability to integrate with such toolkits (such as jQuery) with greater ease and  more seamless than in Web Forms.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Search Engine Optimization (SEO) Friendly / Stateless&lt;/b&gt; •  URL&#39;s are more friendly to search engines (i.e. mywebapplication.com/users/ 1 -  retrieve user with an ID of 1 vs mywebapplication/users/getuser.aspx (id passed  in session)). Similarly, since MVC is stateless, this removes the headache of  users who spawn multiple web browsers from the same window (session collisions).  Along those same lines, MVC adheres to the stateless web protocol rather than  &#39;battling&#39; against it.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Works well with developers who need high degree of control&lt;/b&gt;  • ASP.NET web forms automatically generates much of the raw HTML you see when an  page is rendered. This can cause headaches for developers. With MVC, you have  complete control over what is rendered and there are no surprises. Even more  important, is that the HTML forms typically are much smaller than the Web forms  which can equate to a performance boost - something to seriously consider.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Test Driven Development (TDD)&lt;/b&gt; • With MVC, you can more  easily create tests for the web side of things. An additional layer of testing  will provide yet another layer of defense against unexpected behavior.&lt;/li&gt;
&lt;/ul&gt;</content><link rel='replies' type='application/atom+xml' href='http://webdevelopmentgeeks.blogspot.com/feeds/4698832755297044581/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webdevelopmentgeeks.blogspot.com/2010/10/main-advantages-of-aspnet-mvc.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2744318502197942025/posts/default/4698832755297044581'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2744318502197942025/posts/default/4698832755297044581'/><link rel='alternate' type='text/html' href='http://webdevelopmentgeeks.blogspot.com/2010/10/main-advantages-of-aspnet-mvc.html' title='Main advantages of ASP.net MVC.'/><author><name>Blogger</name><uri>http://www.blogger.com/profile/03013569173115394417</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2744318502197942025.post-3020081512425233960</id><published>2010-10-18T00:58:00.000-07:00</published><updated>2010-10-18T01:46:22.107-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="SEO"/><title type='text'>Stop non-HTML file (for example, a downloadable PDF) from appearing in search results</title><content type='html'>&lt;span style=&quot;font-size: small;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;zippy-content-expand&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;The first step requires the webmaster to make a change. If you own  the site, you&#39;ll need to do ONE of the actions listed below. If you  don&#39;t own the site, contact the webmaster  and request that one of these changes be made. (If one of these changes  isn&#39;t made, you will not be able to use this tool to process your  removal request.)&lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size: small;&quot;&gt;If the page no longer exists, make sure that the server returns a 404 (Not Found) or 410 (Gone) HTTP status code. This will tell Google that the page is gone and that it should no longer appear in search results.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: small;&quot;&gt;If the page still exists but you don&#39;t want it to appear in search results, use robots.txt  to prevent Google from crawling it. Note that in general, even if a URL  is disallowed by robots.txt we may still index the page if we find its  URL on another site. However, Google won&#39;t index the page if it&#39;s  blocked in robots.txt and there&#39;s an active removal request for the  page.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Alternatively, you can use a noindex meta tag.  When we see this tag on a page, Google will completely drop the page  from our search results, even if other pages link to it. This is a good  solution if you don&#39;t have direct access to the site server. (You will  need to be able to edit the HTML source of the page).&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;span style=&quot;font-size: small;&quot;&gt;In addition, if you want a non-HTML file (for example, a downloadable  PDF) to be removed from search results, you or the webmaster should  ensure that the file is removed from the server. Once it&#39;s gone, use the  process below to request that the page is completely removed from  search results.&lt;/span&gt;&lt;br /&gt;
&lt;h4&gt;&lt;span style=&quot;font-size: small;&quot;&gt;If you own the site&lt;/span&gt;&lt;/h4&gt;&lt;ol&gt;&lt;li&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Verify your ownership of the site in Webmaster Tools. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: small;&quot;&gt;On the Webmaster Tools home page, click the site you want.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: small;&quot;&gt;On the Dashboard, click &lt;b&gt;Site configuration&lt;/b&gt; in the left-hand navigation.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Click &lt;b&gt;Crawler access&lt;/b&gt;, and then click &lt;b&gt;Remove URL&lt;/b&gt;.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Click &lt;b&gt;New removal request&lt;/b&gt;.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Type the &lt;b&gt;URL of the page you want removed from search results&lt;/b&gt; (not the Google search results URL or cached page URL), and then click &lt;b&gt;Continue&lt;/b&gt;. How to find the right URL.  Note that the URL is case-sensitive—you will need to submit the URL  using exactly the same characters and the same capitalization that the  site uses.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Click &lt;b&gt;Remove page from search results and cache&lt;/b&gt;.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Select the checkbox to confirm that you have completed the requirements listed in this article, and then click &lt;b&gt;Submit Request&lt;/b&gt;.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;h4&gt;&lt;span style=&quot;font-size: small;&quot;&gt;If you don&#39;t own the site&lt;/span&gt;&lt;/h4&gt;&lt;ol&gt;&lt;li&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Go to &lt;a href=&quot;http://www.google.com/webmasters/tools/removals&quot;&gt;http://www.google.com/webmasters/tools/removals&lt;/a&gt;.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: small;&quot;&gt;If you&#39;re not immediately taken to the &#39;Create a new request&#39; page, click &lt;b&gt;New Removal Request&lt;/b&gt;.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Type the URL of the webpage you want removed (not the Google search  results URL or cached page URL). Note that the URL is case-sensitive—you  will need to submit the URL using exactly the same characters and the  same capitalization that the site uses. How to find the right URL. Click &lt;b&gt;Continue&lt;/b&gt;. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Click &lt;b&gt;Webmaster has already blocked the page&lt;/b&gt;.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Select the checkbox to confirm the requirements listed in this article have been completed, and then click &lt;b&gt;Submit Request&lt;/b&gt;. &lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;Source:http://www.google.com/support/webmasters/bin/answer.py?hl=en&amp;amp;answer=164734&amp;amp;from=61062&amp;amp;rd=1&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://webdevelopmentgeeks.blogspot.com/feeds/3020081512425233960/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webdevelopmentgeeks.blogspot.com/2010/10/stop-non-html-file-for-example.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2744318502197942025/posts/default/3020081512425233960'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2744318502197942025/posts/default/3020081512425233960'/><link rel='alternate' type='text/html' href='http://webdevelopmentgeeks.blogspot.com/2010/10/stop-non-html-file-for-example.html' title='Stop non-HTML file (for example, a downloadable PDF) from appearing in search results'/><author><name>Blogger</name><uri>http://www.blogger.com/profile/03013569173115394417</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2744318502197942025.post-9012818450072199600</id><published>2010-10-18T00:42:00.000-07:00</published><updated>2010-10-18T00:42:01.819-07:00</updated><title type='text'>6 Ways to stop your content appears in search engines</title><content type='html'>&lt;ol&gt;&lt;li&gt;Use a robots.txt robots exclusion file.&lt;/li&gt;
&lt;li&gt;Use “noindex” page meta tags.&lt;/li&gt;
&lt;li&gt;Password protect sensitive content.&lt;/li&gt;
&lt;li&gt;Nofollow: tell search engines not to spider some or all links on a page.&lt;/li&gt;
&lt;li&gt;Don’t link to pages you want to keep out of search engines.&lt;/li&gt;
&lt;li&gt;Use X-Robots-Tag in your http headers.&lt;/li&gt;
&lt;/ol&gt;</content><link rel='replies' type='application/atom+xml' href='http://webdevelopmentgeeks.blogspot.com/feeds/9012818450072199600/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webdevelopmentgeeks.blogspot.com/2010/10/6-ways-to-stop-your-content-appears-in.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2744318502197942025/posts/default/9012818450072199600'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2744318502197942025/posts/default/9012818450072199600'/><link rel='alternate' type='text/html' href='http://webdevelopmentgeeks.blogspot.com/2010/10/6-ways-to-stop-your-content-appears-in.html' title='6 Ways to stop your content appears in search engines'/><author><name>Blogger</name><uri>http://www.blogger.com/profile/03013569173115394417</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2744318502197942025.post-4761412989710446758</id><published>2010-10-14T04:51:00.000-07:00</published><updated>2010-10-14T04:51:35.789-07:00</updated><title type='text'>Custom Authorization With Asp.net MVC</title><content type='html'>Authorization is a very important and every web project has there own needs  and requirements. Full customisation is paramount.&lt;br /&gt;
Here I will show you a simple way to customise your authorization.&lt;br /&gt;
------------------------------CLASS BODY-----------------------------------------&lt;br /&gt;
using System;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using System.Linq;&lt;br /&gt;
using System.Web;&lt;br /&gt;
using System.Web.Mvc;&lt;br /&gt;
namespace auth&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; public class AuthoriseUserAttribute : AuthorizeAttribute&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private int _kind;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private int _accessId;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public int Kind&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; get { return _kind; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set { _kind = value; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public int AccessId&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; get { return _accessId; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set { _accessId = value; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public enum AuthorizeType&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System_Rights = 0,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Master_Rights = 1,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Document_Rights = 2,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Category_Rights = 3&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public AuthoriseUserAttribute(int Pkind, int PaccessId)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Kind = Pkind;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AccessId = PaccessId;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public AuthoriseUserAttribute(int Pkind, int PaccessId, int userId)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Kind = Pkind;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AccessId = PaccessId;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public AuthoriseUserAttribute(int Pkind)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Kind = Pkind;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public override void OnAuthorization(AuthorizationContext filterContext)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; base.OnAuthorization(filterContext);&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
/////////////This method is used for all checks////////////////////////&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; protected override bool AuthorizeCore(HttpContextBase httpContext)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!httpContext.User.Identity.IsAuthenticated)&amp;nbsp;&amp;nbsp; ///First check User is login&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return false;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (Kind == Convert.ToInt32(AuthorizeType.Master_Rights) &amp;amp;&amp;amp; httpContext.User.Identity.IsAuthenticated)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ////Check Users Rights if found ok&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return true;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ///Redirect to no access page&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ///&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return false;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
----------------------------END CLASS------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----------------------------CUSTOM ATTRIBUTE CALL------------------------&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [AuthoriseUser(0, 1)]&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public ActionResult Index()&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ViewModel.Message = &quot;Welcome to ASP.NET MVC!&quot;;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return View();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [AuthoriseUser(1, 1)]&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public ActionResult About()&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return View();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;</content><link rel='replies' type='application/atom+xml' href='http://webdevelopmentgeeks.blogspot.com/feeds/4761412989710446758/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webdevelopmentgeeks.blogspot.com/2010/10/custom-authorization-with-aspnet-mvc.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2744318502197942025/posts/default/4761412989710446758'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2744318502197942025/posts/default/4761412989710446758'/><link rel='alternate' type='text/html' href='http://webdevelopmentgeeks.blogspot.com/2010/10/custom-authorization-with-aspnet-mvc.html' title='Custom Authorization With Asp.net MVC'/><author><name>Blogger</name><uri>http://www.blogger.com/profile/03013569173115394417</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2744318502197942025.post-7150775280537504303</id><published>2010-01-30T03:58:00.000-08:00</published><updated>2014-09-06T09:24:12.953-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="General Asp.net"/><title type='text'>Localization Overview</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;span style=&quot;font-family: arial; font-size: 100%;&quot;&gt;Globalization is the first step in the process of creating a world-ready application. In this step, the application&#39;s executable code is written. A truly global application should be culture-neutral and language-neutral. Therefore, you should focus attention on creating an application that will be able to support localized user interfaces and regional data for all users. Note that although a globalized application has this flexibility, the globalization process itself does not involve translating the user interface. Instead, you should strive to create an application with functionality that works equally well for users from all cultures and regions your application supports.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: arial;&quot;&gt;For each localized version of your application, add a new satellite assembly that contains the localized user interface block translated into the appropriate language for the target culture. The code block for all cultures should remain the same. The combination of a localized version of the user interface block with the code block produces a localized version of your application.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: arial;&quot;&gt;Kinds of Resources in the Hierarchy &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;font-family: arial; text-align: left;&quot;&gt;
&lt;ul&gt;
&lt;li&gt;At the top of the hierarchy sit the fallback resources for your default culture, for example English (&quot;en&quot;). These are the only resources that do not have their own file; they are stored in the main assembly.&lt;/li&gt;
&lt;li&gt;Below the fallback resources are the resources for any neutral cultures. A neutral culture is associated with a language but not a region. For example, French (&quot;fr&quot;) is a neutral culture. (Note that the fallback resources are also for a neutral culture, but a special one.)&lt;/li&gt;
&lt;li&gt; Below those are the resources for any specific cultures. A specific culture is associated with a language and a region. For example, French Canadian (&quot;fr-CA&quot;) is a specific culture.&lt;/li&gt;
&lt;/ul&gt;
Localization Best Practices&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Move all localizable resources to separate resource-only DLLs. Localizable resources include user interface elements, such as strings, error messages, dialog boxes, menus, and embedded object resources.&lt;/li&gt;
&lt;li&gt;Do not hardcode strings or user interface resources.&lt;/li&gt;
&lt;li&gt;Do not put nonlocalizable resources into the resource-only DLLs. This causes confusion for translators.&lt;/li&gt;
&lt;li&gt;Do not use composite strings that are built at run time from concatenated phrases. Composite strings are difficult to localize because they often assume an English grammatical order that does not apply to all languages.&lt;/li&gt;
&lt;li&gt;Avoid ambiguous constructs such as &quot;Empty Folder&quot; where the strings can be translated differently depending on the grammatical roles of the string components. For example, &quot;empty&quot; can be either a verb or an adjective, which can lead to different translations in languages such as Italian or French.&lt;/li&gt;
&lt;li&gt;Avoid using images and icons that contain text in your application. They are expensive to localize.&lt;/li&gt;
&lt;li&gt;Allow plenty of room for the length of strings to expand in the user interface. In some languages, phrases can require 50-75 percent more space than they need in other languages.&lt;/li&gt;
&lt;li&gt;Use the System.Resources..::.ResourceManager class to retrieve resources based on culture.&lt;/li&gt;
&lt;li&gt;Use Visual Studio 2008 to create Windows Forms dialog boxes, so that they can be localized using the Windows Forms Resource Editor (Winres.exe). Do not code Windows Forms dialog boxes by hand.&lt;/li&gt;
&lt;li&gt;Arrange for professional localization (translation).&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://webdevelopmentgeeks.blogspot.com/feeds/7150775280537504303/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webdevelopmentgeeks.blogspot.com/2010/01/localization-overview.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2744318502197942025/posts/default/7150775280537504303'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2744318502197942025/posts/default/7150775280537504303'/><link rel='alternate' type='text/html' href='http://webdevelopmentgeeks.blogspot.com/2010/01/localization-overview.html' title='Localization Overview'/><author><name>Blogger</name><uri>http://www.blogger.com/profile/03013569173115394417</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2744318502197942025.post-5081146901084209883</id><published>2010-01-28T11:03:00.000-08:00</published><updated>2010-01-30T04:13:03.264-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Asp.net Controls"/><category scheme="http://www.blogger.com/atom/ns#" term="General Asp.net"/><title type='text'>From DataGrid to Gridview Web Server Controls</title><content type='html'>&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;The GridView control is the successor to the DataGrid control. Like the DataGrid control, the GridView control was designed to display data in an HTML table. When bound to a data source, the DataGrid and GridView controls each display a row from a DataSource as a row in an output table.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Differences between the GridView control and the DataGrid control include:&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;ul style=&quot;font-family: arial;&quot;&gt;&lt;li&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;     Different custom-paging support.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;     Different event models.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;br /&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Both the DataGrid and GridView controls are derived from the WebControl class. Although it has a similar object model to that of the DataGrid control, the GridView control also has a number of new features and advantages over the DataGrid control, which include:&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;     Richer design-time capabilities.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style=&quot;text-align: left; font-family: arial;&quot;&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;      Improved data source binding capabilities.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;      Automatic handling of sorting, paging, updates, and deletes.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;      Additional column types and design-time column operations.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;      A Customized pager user interface (UI) with the PagerTemplate property.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Improved Design-Time Capabilities&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Sorting, paging, and in-place editing of data requires additional coding when using the DataGrid control. The GridView control enables you to add sorting, paging, and editing capabilities without writing any code. Instead, you can automate these tasks, along with other common tasks such as data binding to a data source, by setting properties on the control.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;If you are working in a designer, such as Microsoft Visual Studio, you can take advantage of designer features built into the GridView control. The GridView control includes support for a smart tag panel that provides a convenient interface for performing common tasks, such as setting properties and launching template editing.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Typically a DataSet control, a DbDataReader control, or a collection, such as an Array, an ArrayList, or some other class in the System.Collections namespace, is assigned to the DataSource property of either the DataGrid control or the GridView control. The DataGrid control and the GridView control can bind any object that implements the IEnumerable or IListSource interface.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;While the DataGrid control can declaratively bind a DataSourceControl control, it can do so only for data selection. Sorting, paging, updates, and deletions must be coded manually. The GridView control supports a DataSourceID property that takes any object that implements the IDataSource interface and can, therefore, take advantage of the data source control&#39;s sorting, paging, updating, and deleting capabilities, for example, the SqlDataSource control.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; Additional Column Types&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;The GridView control supports the following column types: BoundField, HyperLinkField, ButtonField, CommandField ImageField, and CheckBoxField.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; Built-In and Custom Paging Support&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;The DataGrid control requires additional coding for paging. The GridView control automatically supports paging by setting the PagerSettings property. The PagerSettings property supports four modes: Numeric (default), NextPrevious, NumericFirstLast, and NextPreviousFirstLast. The Numeric mode displays numbered page links instead of &quot;next/prev&quot; links, and the NumericFirstLast option adds first and last page links. The GridView control&#39;s PagerStyle property can be used to set styles and the position of the pager.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Additionally, you can customize the pager buttons for the GridView control using a PagerTemplate.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Custom paging support in the GridView is supplied by the bound data source control as opposed to the AllowCustomPaging mechanism supplied by the DataGrid control.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: arial;&quot;&gt; Expanded Event Model&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;The DataGrid and the GridView controls have different event models.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;The DataGrid control raises single events for operations, while the GridView control is capable of both pre-operation and post-operation events. The GridView control supports the Sorting event that occurs when a field is sorted. Note that this sorting event occurs before the GridView control automatically handles the sort operation, giving you the opportunity to examine or change the SortExpression property, or cancel this operation by setting the Cancel property to true on the passed event arguments.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;The GridView control supports the Sorted event that occurs after the GridView control completes the sort operation, giving you the opportunity to change or format the result of the sort operation. In comparison, the DataGrid control supports the SortCommand event that occurs when a column is sorted. Similarly, the GridView control supports RowUpdating and RowUpdated events that occur before and after the GridView control has automatically handled the update operation. In comparison, the DataGrid control supports the UpdateCommand event that occurs when the Update button is clicked for an item in the grid.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://webdevelopmentgeeks.blogspot.com/feeds/5081146901084209883/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webdevelopmentgeeks.blogspot.com/2010/01/from-datagrid-to-gridview-web-server.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2744318502197942025/posts/default/5081146901084209883'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2744318502197942025/posts/default/5081146901084209883'/><link rel='alternate' type='text/html' href='http://webdevelopmentgeeks.blogspot.com/2010/01/from-datagrid-to-gridview-web-server.html' title='From DataGrid to Gridview Web Server Controls'/><author><name>Blogger</name><uri>http://www.blogger.com/profile/03013569173115394417</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2744318502197942025.post-3799153650992043476</id><published>2010-01-27T10:24:00.000-08:00</published><updated>2010-01-30T04:13:11.489-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="General Asp.net"/><title type='text'>How Web Resources work</title><content type='html'>&lt;span style=&quot;font-family: arial;&quot;&gt;Web Resources rely on a special handler that is named WebResource.axd, which is designed to retrieve assembly resources and serve them to the Web browser. The handler type for WebResource.axd is AssemblyResourceLoader.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;When a request comes in from the client for WebResource.axd, the handler looks for the Web Resource identifier in the QueryString method of the Request object. Based on the value of the Web Resource identifier, the handler then tries to load the assembly that contains this resource. If this operation is successful, the handler will then look for the assembly attribute and load the resource stream from the assembly. Finally, the handler will grab the data from the resource stream and send it to the client together with the content type that you specify in the assembly attribute.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;The URL for WebResource.axd looks like the following: &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;WebResource.axd?d=SbXSD3uTnhYsK4gMD8fL84_mHPC5jJ7lfdnr1_WtsftZiUOZ6IXYG8QCXW86UizF0&amp;amp;t=632768953157700078&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;The format of this URL is WebResource.axd?d=encrypted identifier&amp;amp;t=time stamp value. The &quot;d&quot; stands for the requested Web Resource. The &quot;t&quot; is the timestamp for the requested assembly, which can help in determining if there have been any changes to the resource.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Delving into the code&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;In my example, I have developed a COM control that is consumed by an ASP.NET Web application to demonstrate this new feature.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;COM control for the Web Resource&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;For creating and embedding a Web Resource, I have developed a COM control (SimpleControl). It has the following embedded resources:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;    * Two image files that are named smallFail.gif and smallSuccess.gif. These image files are used for rollover effects in the control and are consumed within the control code.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;    * An HTML file that is named Help.htm. This file does not contain much text and is just for demonstration.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;    * One JavaScript file that is named MyScript.js. This file contains some JavaScript code which also demonstrates the substitution feature to get a reference to another embedded resource within the same assembly.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;    * One .css file that is named MyStyleSheet.css. This style sheet is then consumed directly from the ASP.NET Web application. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;In this article, I will discuss the parts that are required for Web Resources.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Embedding the Web Resources&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;First, you have to make sure that all the static files that are added to the Web Control Library project in Microsoft Visual Studio 2005 are embedded resources. To embed these resources, all that you have to do is add these files to Visual Studio and then modify the properties of these files so that the build action is set to Embedded Resource.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;After you have done this, you also have to make sure that these resources have been referenced by the WebResource assembly attribute in the AssemblyInfo.cs &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;he WebResource assembly attribute has three parameters as follows:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;    * Web Resource: The name of the resource that is embedded in the assembly&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;    * ContentType: The MIME file type for the resource&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;    * PerformSubstitution: A Boolean value that determines whether other Web Resource URLs that are referenced in this resource are parsed and replaced with the full path of the resource &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;Fetching the Web Resources&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;For getting the Web Resource, I have used the GetWebResourceUrl method, which is a method of the ClientScriptManager class that is typically used for managing client-side scripts. This method returns a URL reference to the server-side resource that is embedded in an assembly. The GetWebResourceUrl method accepts the following two parameters:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;    * Type: The type of the server-side resource&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;    * Resource Name: The name of the server-side resource&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;To use this method, first you have to create an instance of the ClientScriptManager class and get the type of the class as shown below.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;ClientScriptManager cs = Page.ClientScript;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: arial;&quot;&gt;            Type rsType = this.GetType();&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://webdevelopmentgeeks.blogspot.com/feeds/3799153650992043476/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webdevelopmentgeeks.blogspot.com/2010/01/how-web-resources-work.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2744318502197942025/posts/default/3799153650992043476'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2744318502197942025/posts/default/3799153650992043476'/><link rel='alternate' type='text/html' href='http://webdevelopmentgeeks.blogspot.com/2010/01/how-web-resources-work.html' title='How Web Resources work'/><author><name>Blogger</name><uri>http://www.blogger.com/profile/03013569173115394417</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2744318502197942025.post-6164465990195733584</id><published>2010-01-27T09:41:00.000-08:00</published><updated>2010-01-30T04:13:11.490-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="General Asp.net"/><title type='text'>ASP.NET MapPath</title><content type='html'>&lt;span style=&quot;font-family:arial;&quot;&gt;MapPath is used to resolve virtual paths and physical paths. You run the ASP.NET development server on your local machine, but the paths on it are not the same as they are on your server. Here we use MapPath to find physical paths and file locations, using the C# programming language.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:arial;&quot;&gt;What is MapPath?&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:arial;&quot;&gt;First, in ASP.NET the ~ tilde indicates the root of a virtual path. We need the tilde because otherwise ASP.NET can&#39;t figure out if a path is absolute or relative. Let&#39;s look at some virtual paths and what they might map to.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:arial;&quot;&gt;Virtual paths:    ~/App_Data/test.xml&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:arial;&quot;&gt;                  ~/&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:arial;&quot;&gt;                  ~/Mapfile.txt&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:arial;&quot;&gt;Physical paths:   C:\Website\Files\test.xml&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:arial;&quot;&gt;                  C:\Website\Default.aspx&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:arial;&quot;&gt;                  C:\Website\Mapfile.txt&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:arial;&quot;&gt;Virtual hosts security&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:arial;&quot;&gt;Here we note that if you are using a virtual shared host, there may be problems in your code related to file permissions and security checks. The problem may not be MapPath at all. In fact, MapPath is very simple and unless you have a typo in the argument, it won&#39;t cause you any problems&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:arial;&quot;&gt;Difference of Server.MapPath and Page.MapPath&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:arial;&quot;&gt;both map a virtual path to a physical one..&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:arial;&quot;&gt;Page.MapPath: -&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:arial;&quot;&gt;Retrieves the physical path that a virtual path, either absolute or relative, or an application-relative path maps to..&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:arial;&quot;&gt;Server.MapPath: -&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:arial;&quot;&gt;Each file on a Web server has two ways of being accessed - through a virtual path and through a physical path. The virtual path is the path one would enter into their browser&#39;s Address bar, for example:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:arial;&quot;&gt;http://www.yourserver.com/&lt;/span&gt;&lt;span style=&quot;font-weight: bold;font-family:arial;&quot; &gt;someDirectory/someFile.asp&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:arial;&quot;&gt;The bold part of the URL above is referred to as the virtual path. The physical path is the actual drive, directory, and filename of a particular file on the Web server. For example, on your computer, if you run Windows 9X, your Win.ini file&#39;s physical path is C:\WINDOWS\WIN.INI (assuming you installed Windows on your C: drive).&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://webdevelopmentgeeks.blogspot.com/feeds/6164465990195733584/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://webdevelopmentgeeks.blogspot.com/2010/01/aspnet-mappath.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2744318502197942025/posts/default/6164465990195733584'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2744318502197942025/posts/default/6164465990195733584'/><link rel='alternate' type='text/html' href='http://webdevelopmentgeeks.blogspot.com/2010/01/aspnet-mappath.html' title='ASP.NET MapPath'/><author><name>Blogger</name><uri>http://www.blogger.com/profile/03013569173115394417</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>