|
Comments and Discussions
|
 |
 |
Sheerly to understand what a smart client is better, to reiterate,is a smart client a browser-based web application where processing (business logic) happens on the client's end and that information is then referred back to serverside?
I may be completely wrong, but I am just trying to get a better idea.
Thank you!
Beckah
------
UPDATE:
After a little big of research, what I think is helped was the comparison of a thin client.
So a smart client is supposed to have the look and feel of a desktop application in a browser, but uses more processing power on a client's machine as compared to a thin client. It reports back to the server. Smart client also include applications who need to install in some form (although automatically) on the client machine.
This differs from a thin client which is an application based solely in the browser with no installation required. Because of this, most processing is done on the application's server.
Please add any additional information or correct anything! I'm really trying to learn. Smile |
modified 11-Sep-14 11:53am.
|
|
|
|
 |
Dear,
I want to create offline smart client application in Windows c#.
So that my application can work fine without internet connection.
Please help me
|
|
|
|
 |
The given demo project is not working for me! It is giving the null exception for me like the the following: "e = {"Object reference not set to an instance of an object."}". I have run the server application first and went on executing the client which could not complete the entire run and threw the exception after parsing the following statement: "typeContent.InvokeMember ("Main", BindingFlags.Public |
BindingFlags.InvokeMethod | BindingFlags.Static, null, null, null);"... Could any body please help me in solving out this problem...???
|
|
|
|
 |
Hi,
I have developed a smart client desktop application using SCSF.
It has an MDI and MDI child forms opens over it(It is similar to windows menu based application using MDI) .
The problem is that the MDI child forms (i.e. the views) take a few seconds to open and load.
Is there any way of minimising the time it takes.
The forms are having simple text boxes and labels and grids(which has two columns and is not populated during load)
I call a webservice at form load and have tried to comment the service call; Even then it takes the same time so I have ruled out the possibility of service delay.
Nothing else is done at the form load except the form is rendered
All MDI child forms(views) are taking the same time.
I dont have knowledge of SCSF internals, and how SCSF does all the handling of smart parts etc.
May be it might be tuned up to load the views faster or there is some way to make the CAB work faster which I am unaware of.
Could not find the forum related to SCSF so posting it here, please suggest in case you have knowledge of SCSF message board in code project.
Thanks in advance.
Sakshi
|
|
|
|
 |
Hi,
When the client application runs, Does it loads the assembly every time from remote server? Or only when new version is available. Because in your code there is no check for the version.
Regards,
Mahesh
|
|
|
|
 |
Dear Experts
I've a requirement where i need to take in voice commands from the user and performs events in my application accordingly. I'm not a .net developer and hence wud like to take ur inputs on how to goahead with this requirement. The only clue i have is the steps i need to perform in .nt smart client application
1. Add the Interop.SpeechLib ( speech library ) as a reference to your VS 2003 .Net project
2. Write code in the app launch event to create an instance of the recognition context using the speech library
3. Write code to load the grammar file into the recognition context using the speech library API
4. Activate the rule ids in the grammar files using the speech library API
5. Handle the "reco" event and "hypo" event in your code
6. The "reco" event handler should contain case statements for each of the rule ids. The "reco" event handler can be as simple as calling a button click event.
but i have question that keeps me stoping from proceeding further:
1. how my application will be responding to the triggers and how it is integrated with .net smart client
2. is it to be web based application?
looking for ur inputs.
P.S
|
|
|
|
 |
Hey Diws,
The article is fine and helped me a lot to develop a sample for my usage. I have used the SCSF May 2007 to develop that application. Everything is working fine, if I run it directly.
But when I deployed it, I am not able to view the other Blocks used inside the app. Say, menu items, tool bars, buttons, etc. The shell only showing up.
Please help me, if you have any solution.
Thanks in advance.
|
|
|
|
 |
Hi,
I have developed a an EXE that would be running on a web browser...At the same time i would like it to accessing the system resuorces. How should i go bout with giving the permissions to this particular piece of code...
|
|
|
|
 |
I want some example in smart client and service..,<b></b> Srinivas.G
|
|
|
|
 |
I have created a small web service which is functioning fine when I am using it through my WinForm application. But I unable to use it through the your smart application. I am adding the web reference of my web service to the smart application but unable to create a its object in the application. I am Geting a compilation error.
error CS0246: The type or namespace name 'localhost' could not be found (are you missing a using directive or an assembly reference?)
Please help.
Sandip
|
|
|
|
 |
Hai to all codeproject members,
Help me in doing my project on smart client application. Did you know How to develop smart client application
Vijay
|
|
|
|
 |
Personally, I would start by looking at the Smart Client Application Block by Microsoft.
Arthur Dent - "That would explain it. All my life I've had this strange feeling that there's something big and sinister going on in the world."
Slartibartfast - "No. That's perfectly normal paranoia. Everybody in the universe gets that."
Deja View - the feeling that you've seen this post before.
|
|
|
|
|
 |
can any one help me in creating dynamic asp.net controls
and associate to it a server events
emad hamdy
|
|
|
|
 |
yes, i want to know if this is work in applications with dependencies' assembly or datasource
|
|
|
|
 |
For .NET 1.1, the dependent assemblies must be located in the same directory on the web server.
When .NET looks for dependencies, it will follow the rules set in the various config file. By default, it will look where the executable is and the bin folder underneath where the executable is, as well as the Global Assembly Cache.
So far as your data source goes, your best bet is to use a web service hosted on the same machine that the application is hosted on. By default, a smart client will get permission to establish HTTP connections to that machine, and so you don't need any additional permissions.
If you can't use a web service for some reason, then you need whatever permissions the data provider needs. In general, these will require close to full trust permissions (often will require full trust permissions), which limits the use to basically intranets.
For .NET 2.0 there is click once, which is a better solution for most uses of smart clients.
Also, you may want to look at NeoSwiff -- which lets you compile C# WinForms code into Flash, which is a great solution in some cases. You also might want to see if you can encapsulate your application into a WinForms control -- if you can, then you can add an object tag to your page, which will load your application without the user even having to click.
In any event, all these solutions will run with greatly reduced permissions on the local machine. If you need to do things like access local files, etc. your users will have to configure your application to allow the additional access. Assuming you are in an intranet situation, your best bet is to sign the assemblies and have the enterprise configuration modified to allow assemblies signed by that certificate full trust.
If you are in an internet situation, your best bet is to avoid smart client and click once altogether, and to use .NET controls only if absolutely necessary. Using a smart client, click once or Java Web Start on a page severely limits your audience. Instead, wait for whatwg (off of www.w3c.org) or one of the XAML platforms to take off, and then write to that. The reason I say this is because proxy filters, etc. often attack object tags, and you can't be sure what technologies your users will have installed. It is best to limit smart clients and other technologies to a known user base.
|
|
|
|
 |
Hello....
your given code is working fine. I tried ur demo on local machine by putting url as file://c:/...../smart.exe as url.
but i have a query that client application is always going to invoke method(main)of server form. so what is the use? i mean to say, where is the concept that it just checks for version and if it is diffrent then new version is downloaded and used locally....
If i dont make any change to server application then also it is invoking the server class's main method...why?
I am a beginner... in .NET so its apperciate if u give some more details...
Regards,
|
|
|
|
 |
Hi,
Does anyone has experience (or know of someone) with develop smart client app that has the similar funtions as of Outlook 2003?
Thanks.
|
|
|
|
 |
you have just given the code in zip form.but what are the configuration settings we must make to the server as when i'm building new server application its not getting loaded.
what are the extra things to be done.
|
|
|
|
 |
Hi thnx for such an interesting article. My query is...
I have a web application, I want it's user to have access to some part of the site offline. they can fill up offline forms and save data locally when internet is not available, now when they can able to connect to internet their local data should be mearged with the database.
Could Smart Client be the solution of this problem? any other possible solution welcome...
|
|
|
|
 |
when the network connection is unavailable,Assembly.LoadFrom(strURL) will throw an exception and your server side .exe file will never be loaded!How do you solve this problem?
Welcome to www.webdiyer.com!
|
|
|
|
 |
I think that's the point of a Smart Client Application. If the connection is unavailable, then the latest version located on the client machine will be used. The next time you start up with a connection, the new version will be downloaded and you can run with the newer application
|
|
|
|
 |
Then your example code is poor, since you catch and ignore any exception raised by LoadFrom, but then continue to use the assembly object that LoadFrom should return, but presumably didn't.
|
|
|
|
 |
These articles covers Smart Clients in more details:
A RSS Feed Aggregator & Blog Smart Client
http://www.codeproject.com/smartclient/rssfeeder.asp
.NET 2.0 Smart Client + .NET 1.1 SOA based Services
http://www.codeproject.com/useritems/smartclientsoa.asp
Regards,
Omar AL Zabir
|
|
|
|
 |
I learned what a Smart Client is about in 5 minutes by reading your article.
Thanks.
|
|
|
|
 |
I have VMWare running on my development PC with a virtual PC serving up pages etc that I can see from the normal front end using URLs as if they were out on the internet. I can set up a simple HTML page in the SmartServer directory that I can see. However, when I run the client software, it can't find the Smart.exe even though I'm sure the path is correct. If anyone understood that, I'd be grateful for any suggestions.
I've made a VB.net version of the client 'cos I can muck around with that more easily, but the result is the same: nothing happens!
Cheers
Neill
|
|
|
|
 |
What is your filepath? and are you trapping the error message if any?
robert
|
|
|
|
 |
I m also facing the same problem , any suggestions..?
|
|
|
|
 |
I have re-written the sample program in vb.net individual the server and client work fine but when I call the server assembly from the client vb.net app I get a null reference (Object reference not set to an instance of an object). I think it’s from the line:-
TypeContent = [Assembly].LoadFrom(strUNC).GetType(strClassName)
Where strUNC is the Universal Naming Convention string for the filepath (in place of a website) and the strClassname is the namespace.class string. To complicate things I can call the C# server side assembly with the vb.net client side app and the program works fine but the vb.net version does not. Any ideas would be greatly appreciated.
robert
|
|
|
|
 |
This VB translation worked for me:
Dim strURL As String
Dim strClassName As String
Dim assemblyContent As System.Reflection.Assembly
Dim typeContent As System.Type
strURL = "C:\test\TestApp.exe"
strClassName = "TestApp.Form1"
Try
assemblyContent = System.Reflection.Assembly.LoadFrom(strURL)
Catch ex As Exception
MsgBox("Unexpected Error: " & ex.tostring)
End Try
typeContent = assemblyContent.GetType(strClassName)
Try
typeContent.InvokeMember("Main", BindingFlags.Public Or BindingFlags.InvokeMethod Or BindingFlags.Static, Nothing, Nothing, Nothing)
Catch ex As Exception
MsgBox("Unexpected Error: " & ex.tostring)
End Try
Matt J.
|
|
|
|
 |
After reviewing the code I think it the server side call which is the problem, is there any difference in your server side code which would cause the assemblyContent.GetType method to return a null reference or nothing. It would seem to be the call to the namespace/class which is the problem, I don’t think it its getting to create itself.
robert
|
|
|
|
 |
I tried the sample , but when i was trying to extend this, to include COM components, it fails, for instance i have included a Interop.Word.dll and couple of other office dll using Add Reference, it fails when i try to create an instance of the Word.
fails here "Word.Application app = new Word.Application();"
WORKS STANDALONE FINE, but not when invoked using smart client.
i have tried numerous way's ,
what i did was , create a smart client, and refered the app using URL,
"C:/abc/wordapp/bin/debug/wordapp.exe" instead of putting the app under wwwroot folder. i did address directly because , using localhost doesn't seem to work when a dll is referenced.
other wise if i write a simple app with no additional dll's referenced, it works fine.
how do i make other DLL load, i thought all DLL's will be reference automatically
any help would be appreciated.
thanks
Samar
|
|
|
|
 |
hi
i am working on IDE, which is supposed to inovoke the debugger( debugger is another assembly (exe)) i am using the following code to invoke the debugger
Assembly a;
object instance;
a = Assembly.LoadFrom(@"C:\debug.exe");
instance = a.CreateInstance("debug.mainform");
IDE.instance.Visible = false;
((System.Windows.Forms.Form)instance).Show();
the above code hides the IDE and opens the debugger..
after closing the debugger, IDE appln. should be visible...
how do i do it..
thanks in advance
regards
rag
|
|
|
|
 |
Very nice article..
Can the server application be granted some special rights so that it can save some files in the local machine. Actually, my requirement is to save a dataset, as an XML fiel, on the client side. Please let me know if this is possible.
Senthil. S - Chennai, India
|
|
|
|
 |
Hello I am also working on similar architecture to design a smart-client wiht .NET.
I want to have a thin client on variable devices from a pocket pc to desktop computers and each one should use dlls from a centralized assembly (using http).
But an imlementation question. Is is possible to use components (dlls) which are compiled with .Net on ".Net compact" runtime environemnt?
Any better suggestions ?
|
|
|
|
 |
Your example worked very well, but when I update the server it does still load the old smart.exe from the client cache, even though I changed the version of the file (and the size, and some messages to see what version I load, ...)
I can force him to reload by clearing IE's Cache, though.
This might be a problem since clients might work with old versions even when they are online.
maybe someone knows a better workaround then to mess with local IE's settings?
cu,
Sam
|
|
|
|
 |
Hi Sam,
It is not the issue related to the IE's settings.
U hv to just build the Smart Server project in Release mode.
OR u can change the URL in Smart Client as -
From
string strURL = "file://E:/..../SmartServer/bin/Release/Smart.exe";
To
string strURL = "file://E:/..../SmartServer/bin/Debug/Smart.exe";
I hv just changed the Release to Debug in the URL.
Sumeet Zade
|
|
|
|
 |
Hi,
please make the essencial functionallity clearer, if you add some code to the server like Label2.text = me.ProductVersion.ToString. Now change the version numbers in AssemplyInfo of the server and you see, the new version is loaded.
Whats about dependent assemblies, because this is much more interesting !!!!!!
Bye
Gerhard
[email protected]
|
|
|
|
 |
Hi,
I am pretty much new in the smart client areas. Most of time, I am doing with ASP.Net. I have some questions on the maintenance and deployment issue on smart client, if I may.
1. If the client does not have .Net Framework install in their desktop, does IE automatically ask them to download it?
2. What happened if the smart client apps is written in lower version than the framework install in the client, would it still work? Because I think the backward compatibility issue is not really addressed by the framework.
|
|
|
|
 |
Do i need to create any web Service to run the application ?
|
|
|
|
 |
No,
but you have to adapt the hard coded URL, for a first test, use a URL like file://C:/ ....... / Smart.exe. This works.
Bye
Gerhard
|
|
|
|
 |
Let me first state that I have not used the Smart Client or Java Web Start (JWS) frameworks myself, so my understanding of them may be quite fuzzy. I would appreciate it if someone could explain the differences to me.
I am a firm advocate for this type of client development, but I'm not sure whether the Smart Client framework goes far enough. Smart clients have the potential to completely replace the terrible web interfaces we have all had to get used to when navigating external web sites, not only in applications we specifically wish to install locally.
I believe the JWS framework allows the seamless integration of secure, local application components into any website, simply by clicking on a link to an XML file with a special file extension. The framework then determines whether the component has already been downloaded and is the latest version etc, similar to the Smart Client framework. It also allows the user to confirm what local resources it can have access to (if any), and you can see an overview of all web start components installed on your system and create icons to execute them independently of the web browser if required.
The problem with the .NET way of doing things, (correct me please if I'm wrong), is that instead of an XML file with a special extension, the web link has to be an .exe file. Even if windows knows the difference between a .NET (safe) exe and a win32 (unsafe) exe, I can't tell and would be very reluctant to click on it. In this scenario, the small smart client "loader" itself is also not actually installed locally, but is downloaded via a web link.
JWS has been around for several years now, which makes me wonder why MS hasn't borrowed all of its good features, improved on them, and created something similar for .NET. Smart Client seems like a poor cousin to JWS.
The big down side to JWS is obviously the less than satisfactory Java GUI user and developer experience (java advocates might disagree), and the fact that Java must be installed to make use of it, which is probably why it hasn't taken off.
Once the .NET framework is integrated into Windows (and ported to other platforms), we might actually see the day in sight where HTML goes back to being a means for representing documents instead of an ugly, convoluted means for creating a user interface, even for use in your average website. Users and developers alike rejoice!
|
|
|
|
 |
Good concept but have you thought about how to best access dependent assemblies off the server and any code access security policy implications? Have an example?
Thanks,
Dave
Dave Kolb
SAS Institute
|
|
|
|
 |
I am very interesting.
But how should I set the IIS security? I can execute the client application at local successfully, but I am failed at other computer.
I can’t find the code that checks the assembly version? Where is it? How does it run?
|
|
|
|
|
 |
Perharps you might require more :
- MS Smart Client Site, here...
- What is Smart Client?, here...
- Smart Client Application Block (for full story), here...
May be the author should provide links to such important information sources.
Best regards,
Paul.
Jesus Christ is LOVE! Please tell somebody.
|
|
|
|
|
 |
|
General News Suggestion Question Bug Answer Joke Rant Admin
Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.
|
First Posted | 13 Jun 2004 |
Views | 289,470 |
Downloads | 9,566 |
Bookmarked | 153 times |
|
|