This is part 4 of the sequel to “How to build a web based user interaction layer in C#“. In this post, I will describe a mechanism that we can use to locate resources to process HTTP requests in C#.
Previously, I had written two posts on how to upload files to a web server, one for the case when the size of the HTTP request is small, and the other for the case when the size of the HTTP request is large. How about the downloading of files from a web server? In this post, I shall discuss how to download files from a HTTP server via the System.Net.HttpWebRequest class.
My previous post described a method of sending a file and some data via HTTP multipart post by constructing the HTTP request with the System.IO.MemoryStream class before writing the contents to the System.Net.HttpWebRequest class. This method of sending our HTTP request will work only if we can restrict the total size of our file and data.
I wanted to create a form element that looks like this.
The solution was such that when users click “Browse”, a open file dialog will show up to allow them to choose a file for my program to process. In this post, I shall discuss how I had implemented this solution.
My previous post on sending files via HTTP post did not discuss handling of web server communication feedback. Hence, I will do so in this post.
It is important that a client is able to know if a HTTP request had been successfully processed by the server so that rectification works can be performed.
It was time when simple file IO was not enough to manage data persistence in the .NET application that I had been building. Prior to encountering this situation, I had always wanted to gain practical experience with SQLite. With some googling, I found a .NET wrapper around the SQLite library that I could use in my application. This post documents my experience with using the System.Data.SQLite wrapper.
As software developers, we are always developing applications that can communication with other components: A server side script that echoes html to the browser, the client application that send information to a remote server endpoint and etc. One of the requirements that I got from my project was to display feedback from a windows service. However, because of session 0 isolation in windows 7, invocations of visual display logic from the windows service application is not enough to fulfill the requirement. In order to display feedback from a windows service application, I created a separate form application that runs when users log in and have the form application connects to the windows service application via TCP/IP to listen for feedback. Communication between the two applications is achieved via Object Serialization in .NET framework.
A few weeks back, I wrote some logic to send a file and a from a windows client over to a Java server endpoint. There are a few ways to do that: via application protocols like FTP and HTTP or even implementing a custom protocol using TCP/IP. Since the Java server was already serving HTTP requests and that HTTP requests can usually get through firewalls quite easily, I chose the HTTP protocol.
Recently, I have been tasked to write a .NET application that will prepare the operating system environment for a user who had logged on a Windows 7 machine. As a first step, the application should grab some settings from the network by providing the username of the user to a server application. The application will then prepare the operating system environment based on the settings received.