The
code samples in Microsoft All-In-One
Code Framework are updated on 2010-12-13.
Download address: http://1code.codeplex.com/releases/view/57459#DownloadId=185534
Updated
code sample index categorized by technologies: http://1code.codeplex.com/wikipage?title=All-In-One%20Code%20Framework%20Sample%20Catalog (it also allows you to download individual
code samples instead of
the entire All-In-One
Code Framework sample package.)
If it’s
the first time that you hear about Microsoft All-In-One
Code Framework, please watch
the introduction video on YouTube http://www.youtube.com/watch?v=cO5Li3APU58, or read
the introduction on our homepage http://1code.codeplex.com/, and this Port25 article http://port25.technet.com/archive/2010/01/18/the-all-in-one-code-framework.aspx.
--------------
New ASP.NET
Code Samples
VBASPNETAJAXWebChat and CSASPNETAJAXWebChat
Most of you have some experience in chatting with friends on
the web. So you may want to know how to make a web chat application, it seems to be quite complicated. But ASP.NET gives you
the power to buiild a chat room easily. In this
code sample, we will construct our own web chat room with
the amazing AJAX feature.
The principle is simple relatively. As we all know, a base chat application need 4 base controls: one List control to show
the chat room members, one List control to show
the message list, one TextBox control to input messages and one button to send message. User inputs his message in
the textbox first and then presses Send button, it will send
the message to
the server.
The message list will update every 2 seconds to get
the newest message list in
the chat room from
the server.
We need to know, it is hard for us to make an AJAX web chat application like a windows form application because we cannot keep
the connection after one web request ended. So a lot of events which communicates between client side and server side cannot be realized.
The common workaround is to make web requests in every some seconds to check whether
the server side has been updated. But another technique called COMET makes it possible. But it is different with AJAX and will not be talked in details in this KB. For more details about COMET, we can get some clues from
the Reference.
CSASPNETCurrentOnlineUserList and VBASPNETCurrentOnlineUserList
This sample demos a system that needs to display a list of current online users' information. As a matter of fact, Membership.GetNumberOfUsersOnline Method can get
the number of online users and there is a convenient approach to check whether
the user is online by using Membership.GetUser(string userName).IsOnline property,however many asp.net projects are not using membership.So in this case,
the sample shows how to display a list of current online users' information without using membership provider.
It is not difficult to check whether
the user is online by using session.Many projects tend to be used “Session_End” event to mark a user as “Offline”,however ,it may not be a good idea,because it can’t detect
the user status accurately. In addition, "Session_End" event is only available in
the "InProc" session mode. If you are storing session states in
the State Server or SQL Server, "Session_End" event will never fire.
To handle this issue, we need to save
the user online status to a global DataTable or DataBase. In
the sample application, define a global DataTable to store
the information of online users.Use XmlHttpRequest in
the pages to update and check user's last active time at intervals and also retrieve information on how many users are still online.
The sample project can auto delete offline users' information from a global DataTable by checking users’ last active time.
A step-by-step guide illustrating how to display a list of current online users' information without using membership provider:
1. Login page.
Let user sign in and add current user’s information to a global datatable while Initialize
the global datatable which used to store information of current online users.
2. Current online user list page.
Use XmlHttpRequest in this page to update and check user's last active time at intervals and also retrieve information on how many users are still online.
3. If user closes
the page without clicking
the sign out link button ,
the sample project can auto mark
the user as offline and delete offline users' information from a global DataTable which used to store information of current online users by checking users’ last active time. Then
the current online user list will be like this:
CSASPNETIPtoLocation
This sample demonstrates how to find
the geographical location from an IP address. As we know, it is not hard for us to get
the IP address of visitors via Request.ServerVariable property, but it is really difficult for us to know where they come from. To achieve this feature,
the sample uses a free third party web service from http://freegeoip.appspot.com/, which returns
the information about an IP address we send to
the server in
the format of XML, JSON or CSV. It makes all things easier.
CSASPNETBackgroundWorker
Sometimes we do an operation which needs long time to complete. It will stop
the response and
the page is blank until
the operation finished. In this case, we want
the operation to run in
the background, and in
the page, we want to display
the progress of
the running operation. Therefore,
the user can know
the operation is running and can know
the progress.
CSASPNETInheritingFromTreeNode
In windows forms TreeView, each tree node has a property called "Tag" which can be used to store a custom object. Many customers want to implement
the same tag feature in ASP.NET TreeView. This project creates a custom TreeView control named "CustomTreeView" to achieve this goal.
CSASPNETRemoteUploadAndDownload and VBASPNETRemoteUploadAndDownload
This
code sample was created in response to a
code sample request in our new
code sample request frunction for customers.
The code samples demonstrate uploading files to and downloading files from a remote HTTP or FTP server. In .NET Framework 2.0 and higher versions, there are some lightweight class libraries which support HTTP and FTP protocol transmission. By using these classes, we can achieve this programming requirement.
CSASPNETImageEditUpload and VBASPNETImageEditUpload
This demo will shows how to insert, edit and update a common image with
the type of "jpg", "png", "gif" or "bmp" . We mainly use two different SqlDataSources with
the same database to bind to GridView and FormView in order to establish
the “cascading” effort. Besides we apply our self-made ImageHanlder to encoding or decoding images of different types, and use context to output
the stream of images. We will explicitly assign
the binary streams of images through
the event of “FormView_ItemInserting” or “Form_ItemUpdating” to synchronize
the stream both in what we can see on an aspx page as well as in what’s really stored in
the database.
WebBrowser Control, Network and other Windows General New
Code Samples
CSWebBrowserSuppressError and VBWebBrowserSuppressError
The sample demonstrates how to make WebBrowser suppress errors, such as script error, navigation error and so on.
CSWebBrowserWithProxy and VBWebBrowserWithProxy
The sample demonstrates how to make WebBrowser use a proxy server.
CSWebDownloadProgress and VBWebDownloadProgress
The sample demonstrates how to show progress during
the download. It also supplies
the features to Start, Pause, Resume and Cancel a download.
CppSetDesktopWallpaper, CSSetDesktopWallpaper and VBSetDesktopWallpaper
This
code sample application allows you select an image, view a preview (resized smaller to fit if necessary), select a display style among Tile, Center, Stretch, Fit (Windows 7 and later) and Fill (Windows 7 and later), and set
the image as
the Desktop wallpaper.
CSWindowsServiceRecoveryProperty and VBWindowsServiceRecoveryProperty
CSWindowsServiceRecoveryProperty example demonstrates how to use ChangeServiceConfig2 to configure
the service "Recovery" properties in C#. This example operates all
the options you can see on
the service "Recovery" tab, including setting
the "Enable actions for stops with errors" option in Windows Vista and later operating systems. This example also include how to grant
the shut down privilege to
the process, so that we can configure a special option in
the "Recovery" tab - "Restart Computer Options...".
New Office Development
Code Samples
CSOneNoteRibbonAddIn and VBOneNoteRibbonAddIn
The code sample demonstrates a OneNote 2010 COM add-in that implements IDTExtensibility2.
The add-in also supports customizing
the Ribbon by implementing
the IRibbonExtensibility interface. It is a skeleton OneNote add-in that developers can extend it to implement more functions.
The code sample was requested by a customer in our
code sample request service. We expect that this could help developers in
the community.
New Windows Shell
Code Samples
CppShellExtPreviewHandler, CSShellExtPreviewHandler and VBShellExtPreviewHandler
In
the past two months, we released
the code samples of Windows Context Menu Handler, Infotip Handler, and Thumbnail Handler. This is
the fourth part of
the shell extension series: Preview Handler.
The code samples demo
the C++, C# and VB.NET implementation of a preview handler for a new file type registered with
the .recipe extension. Preview handlers are called when an item is selected to show a lightweight, rich, read-only preview of
the file's contents in
the view's reading pane. This is done without launching
the file's associated application. Windows Vista and later operating systems support preview handlers.
To be a valid preview handler, several interfaces must be implemented. This includes IPreviewHandler (shobjidl.h); IInitializeWithFile, IInitializeWithStream, or IInitializeWithItem (propsys.h); IObjectWithSite (ocidl.h); and IOleWindow (oleidl.h). There are also optional interfaces, such as IPreviewHandlerVisuals (shobjidl.h), that a preview handler can implement to provide extended support. Windows API
Code Pack for Microsoft .NET Framework makes
the implementation of these interfaces very easy in .NET.
The example preview handler provides previews for .recipe files.
The .recipe file type is simply an XML file registered as a unique file name extension. It includes
the title of
the recipe, its author, difficulty, preparation time, cook time, nutrition information, comments, an embedded preview image, and so on.
The preview handler extracts
the title, comments, and
the embedded image, and display them in a preview window.
In response to many customers' request, we added setup projects in every shell extension samples in this release. Those setup projects allow you to deploy
the shell extensions to your end users' machines.
----------
Download address: http://1code.codeplex.com/releases/view/57459#DownloadId=185534
Updated
code sample index categorized by technologies: http://1code.codeplex.com/wikipage?title=All-In-One%20Code%20Framework%20Sample%20Catalog (it also allows you to download individual
code samples instead of
the entire All-In-One
Code Framework sample package.)
If you have any feedback for us, please email:
[email protected]. We look forward to your comments.