如何在没有phsyical .ASMX文件的情况下实现WebService?

Joh*_*n K 4 asp.net web-services

如何在没有.ASMX文件的情况下创建WebService?(没有WSE 3.0或WCF)

例如,我的网络服务看起来像,

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class myService : System.Web.Services.WebService {
    //...
Run Code Online (Sandbox Code Playgroud)

注意:
已经很好地发布了如何 通过web.config 创建和实现通用HTTP处理程序,如:

// Concept.Handler1Class
namespace Concept {
    public class Handler1Class : IHttpHandler {
    //...
Run Code Online (Sandbox Code Playgroud)

和Web.config

<handlers>
  <add name="myHandler1" verb="GET" path="myThing.aspx" type="Concept.Handler1Class" />
   <!-- ...
Run Code Online (Sandbox Code Playgroud)

在上面的示例中,不需要物理.aspx文件.


我希望对我的Web服务做同样的事情:让它们只存在于已编译的代码中而没有配套的前端文件.

谢谢.

ryb*_*ber 6

此代码项目页面显示了如何执行此操作:http://www.codeproject.com/KB/aspnet/wsinaclasslibrary.aspx


后人的摘录.请参阅上面的链接以获取完整解

C#Web服务类

namespace WSLibrary {
    public class WSTest : WebService, IHttpHandlerFactory { 
        //...
Run Code Online (Sandbox Code Playgroud)

Web.config文件

<httpHandlers>
  <add path="WSTest.asmx" verb="*" type="WSLibrary.WSTest" validate="false"/>
  <!-- ... -->
</httpHandlers>
Run Code Online (Sandbox Code Playgroud)