Search Results

Search found 58381 results on 2336 pages for 'web client'.

Page 155/2336 | < Previous Page | 151 152 153 154 155 156 157 158 159 160 161 162  | Next Page >

  • Adding multiple data importers support to web applications

    - by DigiMortal
    I’m building web application for customer and there is requirement that users must be able to import data in different formats. Today we will support XLSX and ODF as import formats and some other formats are waiting. I wanted to be able to add new importers on the fly so I don’t have to deploy web application again when I add new importer or change some existing one. In this posting I will show you how to build generic importers support to your web application. Importer interface All importers we use must have something in common so we can easily detect them. To keep things simple I will use interface here. public interface IMyImporter {     string[] SupportedFileExtensions { get; }     ImportResult Import(Stream fileStream, string fileExtension); } Our interface has the following members: SupportedFileExtensions – string array of file extensions that importer supports. This property helps us find out what import formats are available and which importer to use with given format. Import – method that does the actual importing work. Besides file we give in as stream we also give file extension so importer can decide how to handle the file. It is enough to get started. When building real importers I am sure you will switch over to abstract base class. Importer class Here is sample importer that imports data from Excel and Word documents. Importer class with no implementation details looks like this: public class MyOpenXmlImporter : IMyImporter {     public string[] SupportedFileExtensions     {         get { return new[] { "xlsx", "docx" }; }     }     public ImportResult Import(Stream fileStream, string extension)     {         // ...     } } Finding supported import formats in web application Now we have importers created and it’s time to add them to web application. Usually we have one page or ASP.NET MVC controller where we need importers. To this page or controller we add the following method that uses reflection to find all classes that implement our IMyImporter interface. private static string[] GetImporterFileExtensions() {     var types = from a in AppDomain.CurrentDomain.GetAssemblies()                 from t in a.GetTypes()                 where t.GetInterfaces().Contains(typeof(IMyImporter))                 select t;       var extensions = new Collection<string>();     foreach (var type in types)     {         var instance = (IMyImporter)type.InvokeMember(null,                        BindingFlags.CreateInstance, null, null, null);           foreach (var extension in instance.SupportedFileExtensions)         {             if (extensions.Contains(extension))                 continue;               extensions.Add(extension);         }     }       return extensions.ToArray(); } This code doesn’t look nice and is far from optimal but it works for us now. It is possible to improve performance of web application if we cache extensions and their corresponding types to some static dictionary. We have to fill it only once because our application is restarted when something changes in bin folder. Finding importer by extension When user uploads file we need to detect the extension of file and find the importer that supports given extension. We add another method to our page or controller that uses reflection to return us importer instance or null if extension is not supported. private static IMyImporter GetImporterForExtension(string extensionToFind) {     var types = from a in AppDomain.CurrentDomain.GetAssemblies()                 from t in a.GetTypes()                 where t.GetInterfaces().Contains(typeof(IMyImporter))                 select t;     foreach (var type in types)     {         var instance = (IMyImporter)type.InvokeMember(null,                        BindingFlags.CreateInstance, null, null, null);           if (instance.SupportedFileExtensions.Contains(extensionToFind))         {             return instance;         }     }       return null; } Here is example ASP.NET MVC controller action that accepts uploaded file, finds importer that can handle file and imports data. Again, this is sample code I kept minimal to better illustrate how things work. public ActionResult Import(MyImporterModel model) {     var file = Request.Files[0];     var extension = Path.GetExtension(file.FileName).ToLower();     var importer = GetImporterForExtension(extension.Substring(1));     var result = importer.Import(file.InputStream, extension);     if (result.Errors.Count > 0)     {         foreach (var error in result.Errors)             ModelState.AddModelError("file", error);           return Import();     }     return RedirectToAction("Index"); } Conclusion That’s it. Using couple of ugly methods and one simple interface we were able to add importers support to our web application. Example code here is not perfect but it works. It is possible to cache mappings between file extensions and importer types to some static variable because changing of these mappings means that something is changed in bin folder of web application and web application is restarted in this case anyway.

    Read the article

  • Releasing patches and updates to web service users

    - by Kalidoss.M
    I have written one web services using Java. Its already live (Up & Running). During development I have SVN(repository) + Jira for task maintenance + Maven for building the web services. Now i have some small update for my web services and i have created that task in Jira and committed the files in svn with respect to Jira-Id after all testing, etc.. Say my web services is used by 10 clients, we did not give our source code to them. Is there any steps/procedure available to release patch/updates? Is there any way to render/create the change log at the build time (maven). How do i manage the change log for all version or Patch updates during build time? (Automatically)

    Read the article

  • Oneiric updates cause "Window Creation Error" in Second Life client

    - by Yuttadhammo
    With the latest Oneiric updates, I've been unable to use Second Life, a virtual reality simulator, in Ubuntu. I assume it has something to do with the NVidia driver, since the error in the console says: WARNING: createWindow: LLWindowManager::create() : Error creating window. WARNING: LLViewerWindow: Failed to create window, to be shutting Down, be sure your graphics driver is updated I guess I could file a bug on Launchpad, but I'm not sure where to file it. Does anyone have any insight into what may be causing this problem? It was working fine a week ago, and older viewers (Imprudence viewer anyway) still work fine.

    Read the article

  • Silverlight 4 + RIA Services: Ready for Business: Updating Data in the Client

    To continue our series, lets look at updating the data.  I have created a Plates.xaml page with very similar structure to the above.    For details on how I created this page, check out my PDC 09 demo walk through.    Now lets look at updating the Plate data.. First we will create some default form UI by dragging an entity from the datasources window in much the same way we did above.  But before we create the UI, notice the order of the fields it...Did you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: here.

    Read the article

  • Binding Data to Web Performance Tests

    Web Performance Tests provide a simple means of ensuring correct and performant responses are being returned from your web application. Testing a wide variety of inputs can be tedious without a way to separate test recording and input selection. Data binding provides a convenient and simple way to try an unlimited number of different inputs as part of your web performance tests using Visual Studio 2010.

    Read the article

  • Why is Web SQL database deprecated?

    - by user221287
    I am making a hybrid Android app. At first I decided to use localStorage, after spending 2 days, I realized that it is very strange and so dropped it. Then, I picked up indexedDB, after spending today's whole day and actually getting the output in Google Chrome, it is not running inside a WebView of the android app. And I never used Web SQL database at all because it was deprecated. Anyhow, it has come to my notice that PhoneGap still uses Web SQL and android's browsers support it. Why was Web SQL deprecated in the first place? And will it be a good idea for me to go with Web SQL now?

    Read the article

  • Event Handlers and Automatic Postback in ASP.NET 3.5 Web Controls

    In one of last week s tutorials Creating Database-Driven ASP.NET 3.5 Input and List Web Controls you learned how to create a dynamic input web control that instead of setting values statically stored its list and values directly from the MS SQL server 2 8 database. This tutorial is a sequel to that article. It deals mostly with the server side coding aspect of dynamic web controls. It is recommended that you read the earlier tutorial first as the Visual Web Developer Project in that tutorial will be used extensively in this article.... Download a Free Trial of Windows 7 Reduce Management Costs and Improve Productivity with Windows 7

    Read the article

  • Ubuntu One Client 3.02b stuck at "File Sync Starting" on Windows XP 32-bit

    - by user1491665
    I have been using Ubuntu One on Natty on my laptop and (sad) Win-XP 32-bit on my desktop. At first, the sync function worked well on both platforms but now it's stuck at "File sync starting" on Win-XP 32-bit. I have already tried to uninstall it completely (removed device, deleted folder, restarted pc) and reinstall it but no luck. It is able to display a list of "My Personal Folders" though. I did some Google-ing and found someone had similar problem on Win7 64-bit and some said the bug is resolved since version 3. Unfortunately that's not the case for me. As the title suggests, I am running v3.02b on WinXP. Any help / comments would be greatly appreciated. Thanks!

    Read the article

  • 12 Must Have Google Chrome Extensions For Web Designers

    <b>Tech Drive-In:</b> "Google Chrome extensions pool is growing and growing fast. Firefox has been the primary tool for web developers for a long time now. Tools like Firebug in Firefox has taken cult status among web developers. But things are slowly changing now and a number of good alternatives for Firefox web developer extensions can be found among Google Chrome extensions too."

    Read the article

  • Mozilla publie un rapport sur les progrès de Open Web Apps, son outil de distribution d'applications web ouvertes

    Mozilla publie un rapport sur les progrès de Open Web Apps, son outil de distribution d'applications web ouvertes En 2010 Mozilla présentait Open Web App, une technologie qui aide les développeurs à apporter leurs applications développées pour Firefox OS aux OS comme Android, Windows et OS X. La meilleure partie de l'histoire est que les outils Mozilla convertissent automatiquement les applications HTML5 en package natifs pour ces plateformes. Une vidéo de démonstration qui dévoile les progrès...

    Read the article

  • Web Development Company - Dedicated PHP Developers in Demand

    PHP programming has many features that can make a website attractive and interactive, the two most important necessities to survive in the World Wide Web. To get the maximum of the invested money, web owners should consider outsourcing the development process to an Indian web designing and development company.

    Read the article

< Previous Page | 151 152 153 154 155 156 157 158 159 160 161 162  | Next Page >