我想有南希供电的网站在一个VS项目和专用项目的Nancy.Hosting.Aspnet服务托管这个网站的依赖。测试性能并有能力选择使用IIS或我自己的服务的想法。
在WCF项目的引用中,我添加了网站项目。怎么可能以这种方式主持南希呢?
如何告诉Nancy搜索模块不是在当前可执行文件中,而是在附加到它的DLL中?目前最好的猜测是让名称空间达成一致,但目前还不太走运。如果有用的话,下面是我用来从WCF可执行文件运行Nancy的代码(它是标准的):
class Program
{
private static readonly Uri BaseUri = new Uri("http://localhost:1234/");
static void Main(string[] args)
{
AppDomainAssemblyTypeScanner.LoadAssemblies("Basta.dll");
using (CreateAndOpenWebServiceHost())
{
Console.WriteLine("Service is now running on: {0}", BaseUri);
Console.ReadLine();
}
}
private static WebServiceHost CreateAndOpenWebServiceHost()
{
var host = new WebServiceHost(
new NancyWcfGenericService(new Basta.Bootstrapper()),
BaseUri);
host.AddServiceEndpoint(typeof(NancyWcfGenericService), new WebHttpBinding(), "");
host.Open();
return host;
}
}我使用了this question中的方法(通过调用AppDomainAssemblyTypeScanner.LoadAssemblies),但不幸的是不起作用。
发布于 2012-11-02 22:58:28
我找到原因了。将Nancy作为WCF运行时,通常在IIS虚拟文件夹中处理的所有外部资源都变得不可用。这意味着没有模板,没有样式,没有javascript。没什么。
因此,为了解决这个问题,需要将所有额外的资源复制到输出文件夹(在Visual Studio属性中,每个文件都有相应的选项)。
https://stackoverflow.com/questions/13182956
复制相似问题