【发布时间】:2010-08-11 08:01:21
【问题描述】:
我想托管 Wcf 服务,在 Wcf 服务库中创建,在 Web 应用程序中。
我已经用 Web Service asmx 做了同样的事情:
using System.Reflection;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
namespace WebServiceLibrary
{
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class WebService1 : WebService, IHttpHandlerFactory
{
private static WebServiceHandlerFactory wshf = new WebServiceHandlerFactory();
private static MethodInfo coreGetHandlerMethod = typeof(WebServiceHandlerFactory).GetMethod("CoreGetHandler", BindingFlags.Instance | BindingFlags.NonPublic);
public System.Web.IHttpHandler GetHandler(System.Web.HttpContext context, string requestType, string url, string pathTranslated)
{
return (IHttpHandler)coreGetHandlerMethod.Invoke(wshf, new object[] { GetType(), context, context.Request, context.Response });
}
public void ReleaseHandler(IHttpHandler handler)
{
}
[WebMethod]
public string HelloWorld()
{
return "Hello World";
}
}
}
Web 应用程序的 web.config 文件:
<system.webServer>
<handlers>
<add name="WebService" path="WebService1.asmx" verb="*" preCondition="integratedMode" type="WebServiceLibrary.WebService1"/>
</handlers>
</system.webServer>
这里有没有一种方法可以用 Wcf 服务做同样的事情?
问候。
【问题讨论】:
标签: c# asp.net web-services wcf