我编写了一个ASP.NET复合控件,其中包含一些与Web服务通信的Javascript.
我已经将控件和服务的类打包成了一个DLL,使人们可以在其他项目中使用它.
我遇到的问题是,除了在项目中引用DLL之外,我的控件的使用者还必须包含用于Web服务的.ASMX文件.虽然它不是一个复杂的文件(只是一个单行程序,指的是DLL中的类),但如果可以,我想避免使用它.
有没有办法避免必须有.ASMX文件?
我可以在Application_Start中使用Web服务器注册服务吗?
我可以进行web.config更改以某种方式引用它吗?
感谢所有建议!
更新:在John Sheehan的回复(下面)中链接的文章确实有效 - 但如果你想使用AJAX调用Web服务则不行.有人知道AJAX友好版吗?
尝试这样的事情.我不知道它是否会起作用.我从ELMAH那里得到了这个想法,它为一个实际上不存在的页面创建了一个处理程序,然后从程序集中提供它.
编辑:我很接近,看到这篇文章(虽然在VB中):http://www.codeproject.com/KB/aspnet/wsinaclasslibrary.aspx