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,334 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
ID: 21819947
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
ID: 21852250
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
ID: 21852408
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

DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
POWERSHELL: do / until, should continue even when there is an error 4 52
Syntax error 9 45
Syntax Error 2 44
Where to download and how to install sqldmo.dll 5 33
It seems a simple enough task, yet I see repeated questions asking how to do it: how to pass data between two forms. In this article, I will show you the different mechanisms available for you to do just that. This article is directed towards the .N…
A long time ago (May 2011), I have written an article showing you how to create a DLL using Visual Studio 2005 to be hosted in SQL Server 2005. That was valid at that time and it is still valid if you are still using these versions. You can still re…
Windows 10 is mostly good. However the one thing that annoys me is how many clicks you have to do to dial a VPN connection. You have to go to settings from the start menu, (2 clicks), Network and Internet (1 click), Click VPN (another click) then fi…
Internet Business Fax to Email Made Easy - With eFax Corporate (http://www.enterprise.efax.com), you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, fr…

911 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

20 Experts available now in Live!

Get 1:1 Help Now