Helpful Information
 
 
Category: .Net Development
.Net Applets?

Does .NET have an equivilent to Java Applets. That is Web browser based client side programs?

If not has anybody heard of anything close?

.NET has something called zero-touch deployment that not many people (who aren't up to thier neck in .NET) have heard about. It basically allows you to put a link on a web page that references a .NET EXE, and rather than asking to download that EXE the EXE will just start up. It will have severely restricted privs as you would expect.

The hitch is of course that the .NET framework must be installed on the client machine, and IE is the only browser that would know what to do w/ the EXE. Other browsers, or IE when the framework is not installed will treat it as a regular EXE and ask you what you want done (run or download). And won't run if you ask it to.

I think the reason not many people have heard of this is because it's got very limited uses unless you've got control over the client and can be sure the Framework is installed.

Ongoing versions of Windows will have the Framework built in (as Windows Server 2003 does now), so it will be less of an issue going forward, but we're still talking Win32 only, as is the nature of .NET.

The real answer from a Microsoftie would be ASP.NET, which renders down to the level of the target browser, or takes advantage of IE, if available.

Thanks for that.

I didn't think Microsoft could get away without claiming they did everyhting everone else did.

Now I know what it is/was/will be (as it is with everything microsoft names, its bound to be called something else already) be called I can do some research.

Pointing to a .net exe??

check out this link

"Writing an ActiveX Control in .NET "
http://www.c-sharpcorner.com/Code/2003/March/ActiveXInNet.asp

you won't run an EXE file....

There are several things you need to do to get it working.

1. You must build a class that is a Windows.Form.UserControl. No other class type will work properly.

2. The new UserControl must live in a dll - You cannot do this with an exe.

3. The .NET dll must be served from a web server. You cannot simply have the web page load from a file system. You must make a web site and have the web page with the .NET UserControl be served from it.

4. Put the .NET dll in a new directory, not the bin directory used by ASP.NET applications. I usually make a "client/bin" directory in the web site to store all the .NET dlls that are needed to download to the client. If you have 20 other custom class library dlls used by your new UserControl class, put all the dlls needed in the "client/bin" directory. Don't worry about any of the base .NET assemblies. IE will know that it needs all those dlls and will look for them from the server the page came from.

5. Dont do specific types of things in your UserControl, such as file IO. You'll know when you do something wrong when the page wont load the control or the control gets a security error when trying to do something wrong. This is a part of the entire .NET security topic and anything you read about .NET security applies to IE. when hosting a .NET UserControl in a web page, it has all the security of a .NET application and is safer then hosting a Java Applet (.NET security is more granular and powerful then Java sandbox security in IE).

6. In the web page to host the .NET UserControl, use the following style of HTML:

<OBJECT id="app" style="WIDTH: 300px; HEIGHT: 200px" classid="client/bin/MyUserControlAssembly.dll#NamespaceNames.ClassName" name="app">
<PARAM NAME="BaseLocation" VALUE="<%=BaseLocation%>">
<PARAM NAME="ConfigFile" VALUE="\client\config\BaseConfig.xml">
</OBJECT>

Replace the "MyUserControlAssembly.dll" with the actual name of the UserControl dll. Replace the "NamespaceNames.ClassName" with the System.Type.FullName of the UserControl class. The param names used are just examples. You don't have to pass params, but if you do, match the names of the params with the names of Properties from the UserControl class. This will cause IE to do a set on the Properties with the value specified for the param.

Security Dos and Donts (all is based on not doing custom security settings for IE - this is straight IE with .NET installed):

1. You can open sockets back to the web server the web page came from. This allows you to do back end web service calls. All other locations will cause a security failure.

2. You cannot use MOST COM libraries. I say most because some COM libraries seem to be ok. I'm still a newbee when it comes to knowing what can be used and why, but I have found that you can use mshtml to do DHTML with the page.

Also, for more info about debugging problems in this situation, refer to:
http://urbanasylum.dynu.com/JustTheFacts/archives/000092.html
and
http://support.microsoft.com/?kbid=317346

This is amazing .NET technology that I would really like to see applied to the Mozilla browser with the Mono project' s C#(http://www.go-mono.org). That would really put C# on par with Java Applets in terms of availability. Of course this is a political issue, but I try not to get political and just worry about writing the best code I can in the environment I'm working in.

Hope this helps.

Hi

You mention that the component can open a socket back to the server it came from in order to call a webservice. Can you point me in the direction of any examples of how to do this ? I've tried including a regular webservice reference in the component and any method calls to the service fail.

cheers

Anyone have an example where their UserControl was able to us the params as passed from the object tag?

Thanks,
Kevin










privacy (GDPR)