Solved

Why is it whenever I use System.Web.Hosting.ApplicationHost.CreateApplicationHost it always returns System.IO.FileNotFoundException?

Posted on 2008-06-19
3
2,313 Views
Last Modified: 2013-12-16
I'm trying to host asp.net application and asp web services without IIS. I found the cassini web project and other tutorial around the net. All of them are using the CreateApplicationHost from System.Web.Hosting.ApplicationHost namespace. I copied some code from those project and build it properly but whenever I tried to run it on debug I always get the file not found error. I think it is caused by the Virtual Directory path but don't know how to fix it.


public class MySimpleHost : MarshalByRefObject

    {

        public void ProcessRequest(string page, string query, TextWriter tw)

        {

            SimpleWorkerRequest swr = 

                new SimpleWorkerRequest(page, query, tw);

            HttpRuntime.ProcessRequest(swr);

        }

    }
 
 

namespace SimpleHost

{

    class Program

    {

        static void Main(string[] args)

        {

            string dir = System.IO.Directory.GetCurrentDirectory();
 

            MySimpleHost msh = (MySimpleHost)ApplicationHost.CreateApplicationHost(

                typeof(MySimpleHost), "/", dir);

         }

    }

Open in new window

0
Comment
Question by:hackpin
  • 2
3 Comments
 
LVL 53

Expert Comment

by:Dhaest
Comment Utility
Its looking for a file containing MyHost class. It is included with the main program itself (UsingAspRuntime.exe). The ASP.NET runtime looks for all assembalies in the bin directory. So be sure that the bin directory has been created and it contain the UsingAspRuntime.exe. The build script does this automatically.
http://www.codeproject.com/KB/dotnet/usingaspruntime.aspx

Another thread about it
http://forums.asp.net/rss.aspx?ForumID=67&PostID=771470
0
 
LVL 1

Author Comment

by:hackpin
Comment Utility
I compiled the projects Dhaest mention above properly unfortunately I encountered the same problem  the System.io.filenotfound exception. What I wanted to do is to make my own hosting application rather than using the code on code project. I want to make it from scratch for me to understand it well.

I looked on my bin folder and the exe file is already created for me after my build. Can anyone point me out what am I missing?
0
 
LVL 1

Accepted Solution

by:
hackpin earned 0 total points
Comment Utility
Thanks for the reply Dhaest I now know what I need to do first before I can use the System.Web.Hosting namespace.

I created my own implementation of http server using httplistener.
Create a SNK file for that library.

To create SNK file
Use visual studio command line then use the following:
sn.exe -k [name of the snk file].snk

In your solution project go to configuration  manager under the Singing tab and then add your newly created snk file.

once again use your visual studio command line then go to the folder of your class library.
Use the following command to add your dll to global assembly cache.

gacutil -i [library name].dll

Now I can properly use the .CreationApplicationHost method provided by System.Web.Hosting namespace.

I good example of cassini web server ported out to vb.net for other developer:
http://www.codeproject.com/KB/applications/xNetServer.aspx
0

Featured Post

Enabling OSINT in Activity Based Intelligence

Activity based intelligence (ABI) requires access to all available sources of data. Recorded Future allows analysts to observe structured data on the open, deep, and dark web.

Join & Write a Comment

This article describes relatively difficult and non-obvious issues that are likely to arise when creating COM class in Visual Studio and deploying it by professional MSI-authoring tools. It is assumed that the reader is already familiar with the cla…
In my previous two articles we discussed Binary Serialization (http://www.experts-exchange.com/A_4362.html) and XML Serialization (http://www.experts-exchange.com/A_4425.html). In this article we will try to know more about SOAP (Simple Object Acces…
Sending a Secure fax is easy with eFax Corporate (http://www.enterprise.efax.com). First, Just open a new email message.  In the To field, type your recipient's fax number @efaxsend.com. You can even send a secure international fax — just include t…
Polish reports in Access so they look terrific. Take yourself to another level. Equations, Back Color, Alternate Back Color. Write easy VBA Code. Tighten space to use less pages. Launch report from a menu, considering criteria only when it is filled…

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now