• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 2502
  • Last Modified:

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

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
hackpin
Asked:
hackpin
  • 2
1 Solution
 
DhaestCommented:
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
 
hackpinAuthor Commented:
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
 
hackpinAuthor Commented:
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

How to Use the Help Bell

Need to boost the visibility of your question for solutions? Use the Experts Exchange Help Bell to confirm priority levels and contact subject-matter experts for question attention.  Check out this how-to article for more information.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now