Desktop Application - Update Text to website - c#

We have a 5 page website and we are looking to make a desktop application to update parts of the text just 1 or 2 words to start off with , simple change the html word of hello to test from the desktop program.
I know parts of visual basic 2008 but im not a master of it and so i didn't know if that was the best way to go forward or any other programming languages.
Also what would be the best code way to try and update the text on the website
Any websites would be appreciated so i could learn and possibly build on this as this would be something id like to get into
thanks

That's a bit much to answer fully here. I can give you the basic steps and links to resources to help you on your way.
Without going into specifics, you want to do the following:
Create your website using ASP.NET (since you tagged this as .NET)
Save the text that you want to be changeable in a database
Use DataBinding in ASP.NET to retrieve the data from the database to show it on the pages.
there are plenty of videos on how to do this at http://www.asp.net
You'll have to choose between Web Forms and MVC. if you're brand new I won't try to confuse you. WebForms is a bit easier to use if you've never done real web programming before, but MVC is becoming much more popular. Since it sounds like you're new I'm going to recommend you start at http://www.asp.net/web-forms and pay attention to the "Learning Resources" area
Create a Windows Forms application to update the data
there are plenty of videos on how to do this at http://www.windowsclient.net
Technically you could update the data from an ASP.NET application, or even a Visual Studio Lightswitch app, but you specified you wanted to make a Desktop app, which I interperet as being a standard Windows app.
Of course, you'll have to host this website in IIS. I'm assuming you're already doing that...

Related

running an application inside ASP.NET

I've written an application in C# that I would now like to host within an ASP.NET website (MVC 2).
The application can become quite resource intensive so I would like to set up the system in such a way that each user downloads the application and runs it locally, but still within the web page that I provide.
My first idea to solve this problem was to host the program within a silverlight application. However, the app I want to host was not compiled for Silverlight, and I would like to use MySQL in it, which also appears to not be possible directly (ie without a web service in between).
The bottom line is that don't have experience with these things directly yet, and I need to research the way to make any solution possible. So I would really appreciate some input to put me in the right direction, and not have to implement 3 wrong options before finding the right one. I would also really like to avoid JavaScript if at all possible.
Thanks in advance.
Update
I probably should have specified to begin with what the application is exactly.
The application as I want to host it on the website is a simple chat program. It needs an input box and text output. The old windows forms application won't have to run in ASP, but I want to use the class library behind it, which is a chatbot engine. That engine is the part that can be rather resource intensive.
So you wrote a "rich client" application and you want to serve it as a web/silverlight application. This is not possible without changing the architecture of your app, as you probably guess, expecially because you have to interface a database. If rewriting the application to support such architecture is not an option, the best in order to me is to use Remote Desktop, but you have to pay for licenses in order to support many connections.
If your application is not a web application then it will not run on the server. The only thing your server does is to provide a download location. For that, you wouldn't need a MVC site - static pages could fit. The programming model between normal applications running on the client and server applications running on IIS is completely different. So in short: you won't be able to host your client application in ASP.NET MVC. If this is a requirement you will end up rewriting the application.
If your application is ASP.NET WebForms and it becomes too resource hungry, then you probably won't solve it by just switching to MVC. You have different options then: more resources on the server side, analyzing what could be done to lower the resources required or moving away from a server based application. This is not a black/white decision, maybe a combination might fit.

A few sharepoint concepts I can't seem to grasp

Despite my background with asp .net C#, I've really tried to get my head around the different concepts and development techniques surrounding Sharepoint 2010 and I can honestly say I'm really struggling. As a last resort - I'm posting on here at the risk of being marked down on questions that you will say I could have found out through research myself (but I've been on this for days now believe me). So I have a few questions no doubt anybody proficient in Sharepoint will be able to help me find answers to.
Stages of development in Sharepoint:
I understand that in asp .net C# (and any other typical web design platforms) we have the 'design stage' were, as developers, we'll design the website and it's content (putting CMS' to one side for now) and then you have a 'view stage' were end-users view the website - pretty simple. But with Sharepoint I'm completely lost as to how I can view the lifecycle with regards to stages that it may go through. I'm confused because I've configured and set up my Sharepoint web app and a site collection. That's fine, that seems like the admin side of things - but now the development is done how? I've followed a guide to assign master pages and css to the site collection for branding purposes but there's also the option to manage this site through the ribbon!? Do we want end-users to see this ribbon? Basically, if anyone can clarify what responsibilities are left with the end-users after a hand-over from the developers it would help me a lot to grasp the concept of Sharepoint and what it offers. Also, does if Sharepoint is a CMS does this mean there's a 3rd stage to the lifecycle (i.e. Sharepoint developers develop the framework for the site which will manage content, users will manage the content, another type of user will view the content)??
Use of VM's:
My computer's spec is now high enough to host VM's through hyper-v, so it does. I'm currently using a VM for Sharepoint development. Why? If I'd read around and found that the only reason was because Sharepoint cannot (without fiddly hacks) be ran on Windows 7 (and I may need a win 7 vm for day-to-day office use) then I'd understand - but it seems that VM's are also handy because should I mess up a sharepoint installation I can start again - why would I need to? I've never ever came accross any other type of installation (apart from OS installations) that could go wrong enough to require a complete restoration of a hard-drive image. What exactly can go wrong?
Managing Sharepoint content in VS
Again, comparing to standard asp .net C# development - I create my pages (using master pages and/or controls if I see fit) and they appear, simple. With sharepoint - it seems that the content (saved in a database which is automatically created by a Sharepoint installation) is mapped to a page (saved in our directory - an aspx page). If this is right - then how do we manage the aspx pages and develop them further in VS? Or are we not meant to amend the appearance of lists etc.?
Thanks a lot, like I say I expect a bit of negativity here regarding the style of question but it really is necessary to help me move forward. I'm not lazy by any means - if you can refer me to links that will help a complete newcomer to sharepoint grasp any of the concepts I've mentioned above I'll happily do the reading - but I've only managed to come accross material targetted at those who already have a firm grip on Sharepoint.
You really need to read more about SharePoint.
Instead of looking into Web parts and how to customize SharePoint, you should grasp the concepts first.
First of all, StackOverflow is not the place for SharePoint questions because there is a dedicated StackExchange site for SharePoint here.
Then, I think you better get a book about it. Start in the configuration track before moving to the development track, it will help you understand the development specifics.
As a general idea, with SharePoint you create sites. A site (collection) may be composed of other sites, and that gives you a navigation. In the lower level you have pages, in which you can add content managed by SharePoint (Lists) or custom web parts that have to be developed in ASP.NET. You can have sites totally built with out of the box functionality, no custom development involved.
When you build a web part, you upload the assembly to SharePoint and, having a page in edit mode, add the web part to the page.
You also have plenty of web parts out of the box.
There is also a product called SharePoint Designer, that helps you customize SharePoint pages. You can browse the complete structure of sites and pages in your site and edit them.
You don't open a SharePoint site in .NET and start changing pages from there. .NET is only for creating custom web parts or other extensible components.
This is really a high level overview, there is a lot into SharePoint. Don't expect to learn everything about it in some weeks, I don't think there is even someone who knows it all. That's how large the product is...
Good luck!!

How to add Windows Form to web page?

I am new to .NET so I have a basic question to ask, is there a way to add Windows Forms application to my web page, as creating forms was easy and I created my app in the form format now I want to add them to asp.net page.
It's a different thing, but you might want to look into the silverlight out-of-browser technology.
http://www.silverlight.net/learn/overview/out-of-browser-applications/out-of-browser-applications-(silverlight-quickstart)
Spend good time on w3schools.com learning about <form> tags..
then gradually move on towards processing data at backend using C#
a good starting point can be http://www.deitel.com/articles/csharp_tutorials/20060128/index.html
Long way to go..first get your basics right!!
If you have basic knowledge of html, then you can learn the basics of asp.net too. Then you can easily create a web form which exactly matches your windows forms. But always keep it in mind, webforms are not as flexible as windows forms.
well... there are something you can do that is similar.
You can add your windows-form to an BHO and install it in you webBrowser as an ActiveX object (for a IE) or extension (in other browsers), and then share it to everyone you want. Then your win-form application can start and interact with your web-page.
You can start looking here: http://msdn.microsoft.com/en-us/library/bb250436(v=vs.85).aspx
hope it help.
Windows form cannot be added in a web form. They altogether are a different technology. You can add link in your web app for downloading Windows app.

Web Application, which route to go?

I'm going to develop a web application based on mathematics. It's going to provide stuff like canvas' showing graphs (quadratics etc.) and also provide an exercise area to test knowledge.
I am stuck as to which route to take. I haven't developed a Web Application before and I am most confident working in C# applications. I would prefer to use C# when creating this but I don't know if that is really appropriate.
I have the following routes that I could go down:
Silverlight - I haven't used this before but it seems to be the most obvious solution to me. I was wondering how hard it will be to develop an understanding of silverlight (xaml etc.)
Java, I haven't any idea about java, but I've heard it has a lot of similarities to C#.
Tclets, my university tutor said he has worked with this before and it's easier to get on the web, and very handy for gui's.
I thought I'd ask this here to get everyones opinion on which path to take, and sum up all the positives and negatives of each route.
Thanks in advance.
If you decide to go the Silverlight route the Silverlight Toolkit has some good graphing samples : Silverlight Toolkit Control Samples - which is itself a Silverlight application.
Using Silverlight is probably the closest you can get to writing a desktop application for the web. The UI is specified in XAML with the application layer in C#. The whole application sits within the Silverlight control and you can generate the menus and other navigation items you need.
It complies to a XAP file which you deploy and then reference from either an HTML page or ASP page.
If you are most comfortable with C# then I would advise developing it in ASP.NET. Heres a starting point: Creating ASP.NET Web Applications
I really can't speak to Java or Tclets but Silverlight will offer you a familiar programming model if you are most comfortable in C#. XAML requires a bit of a learning curve if you don't have any experience with it. You don't have to go 100% Silverlight though - it could be a hybrid HTML (ASP.NET) and Silverlight solution - where Silverlight could primarily be used for the graphing/charting. You could use HTML or a more sophisticated ASP.NET site for the remainder of the content.

What is a good project to learn Windows Forms programming in C#?

I want to learn c# so I can do some desktop developing. I've developed command-line C# applications and wanted to expand to Desktop applications.
I was thinking of create a screenshot tool like Jing or maybe a plugin for outlook to sync contact information with a service like Google.
What are your thoughts? My past experience is with web applications built in PHP.
I would try to start with something fairly contained, which only touched a few new technologies. For instance, if you want to learn Windows Forms, write something which uses that but doesn't need to talk to Outlook, Google, or the Win32 API. Once you've got the hang of Windows Forms, try one extra technology - try displaying your Google Contacts and do offline editing, for example. Then add another technology... etc.
In my experience it's hard enough to learn one new technology at a time - but that's far quicker than trying to learn two or more in one go. You inevitably get to the stage where you don't know where the problems are, and you have no confidence in any of your code because it's all new. This is particularly important if you're still fairly new to the language as well - although I'm glad to hear you started with some console apps :)
Sorry if that sounds like I'm being a wet blanket, and I realise it sounds like you'll take far longer to get to something useful that way, but I think you're more likely to be successful in the long run.
Find something that most importantly interests and excites you. If you pick something too boring that you don't care about you'll only give up before you get anywhere, and won't benefit at all. Don't do a rubbish project for the sake of learning a language. Do a good project, and do it in a new language as a side effect.
Make a notepad clone. While being fairly simple it will give you a primer in some basic Windows Forms mechanisms such as using menus and reacting on their events, getting input from controls for storage on disk, reading from disk and updating controls, using Docking and Anchoring and so on.
Twitter clients are the new hello world.
I read that somewhere the other day. I can't personally comment on its fitness for your goal.
Do something that you did before, but in another language. Then you won't have to think about most of the architecture of the particular task again, but you'll be able to compare the languages, the frameworks and their approaches.
I bet you'll learn a lot about your previous language as well doing this excercise.
A good project would be a simple windows form. You simply have a chance to put everything together. Or at least see a bigger picture.
You can make it as complicated as you want, without sticking to one area.
Suggesting a specific project is pointless. Think of something that interests you, or an application you want/need, then start making it - searching Stackoverflow/Google/MSDN/etc whenever you can't guess how to do a specific task.
For example, I had to make kiosk application that allowed customers to signup to a companies mailing-list. I tried using the Ruby framework Shoes, but it didn't work correctly on the laptop the application was to run on. Visual C# seemed like a better fit, and would almost certainly run correctly..
So I installed Visual C# Express, added a few labels and a button. I double clicked the button, and realised I didn't know the code to create a new WinForm window.. So I searched Google for "visual C# open new dialogue" or something, and I found out I had to add a new form, then call NewForm newwindow = new NewForm(); newwindow.show(); or similar.
Then, I added the username/email fields, then searched for "how to display an alert box" and checked I could display the form values.
That all worked, so now I had to decide how to store the emails. I had heard good things about LINQ to SQL, so looked into that, decided I wanted to use SQL Server CE (so I didn't have to install/run SQL Server on the laptop). That resulted in more searching around for how to make LINQ to SQL work with SQL Server CE..
Finally, I wanted to have a configuration panel to change the title/button strings etc (accessible via a certain keyboard shortcut).. A Google search revealed how to catch keystrokes, and I asked a Stackoverflow question about representing the settings (using a PanelView or something)
..anyway, the point of that slightly long, rambling and not terribly interesting story is.. You can learn many new technologies at once, as long as you have a specific application in mind (and you're determined to finish it!)
I learned C#, WinForms, SQL Server CE, LINQ to SQL, and simple application publishing stuff in a day - creating a functioning, useful application in the process - simply with a combination of prodding around, Google searches and Stackoverflow..

Categories