我想将值传递给实现我的服务的类的构造函数.
但是,ServiceHost只允许我传递要创建的类型的名称,而不是传递给其构造函数的参数.
我希望能够传入一个创建我的服务对象的工厂.
到目前为止我发现了什么:
我小心翼翼地进入 WCF,试图按照教程将我的 ASMX 项目转换为一个新的 WCF 项目,我偶然发现了一个关于在 WCF 中编写构造函数的谜团。
我的 ASMX 网络服务允许我有一个构造函数(参见:同名,无返回值):
namespace sdkTrimFileServiceASMX
{
public class FileService : System.Web.Services.WebService
{
Database db;
string g_EventSource = "CBMI-TrimBroker";
string g_EventLog = "Application";
public FileService()
{
try
{
if (!EventLog.SourceExists(g_EventSource))
EventLog.CreateEventSource(g_EventSource, g_EventLog);
}
catch (InvalidOperationException e)
{
e.ToString();
}
}
Run Code Online (Sandbox Code Playgroud)
我将其转换为 WCF 服务应用程序的尝试给出了以下编译器投诉:
The namespace 'sdkTRIMFileServiceWCF' already contains a definition for 'FileService'
Run Code Online (Sandbox Code Playgroud)
这是 WCF 代码(开始片段):
namespace sdkTRIMFileServiceWCF
{
[ServiceBehavior(InstanceContextMode=InstanceContextMode.Single)]
public class FileService : IFileService // err msg points to this line
{
Database …Run Code Online (Sandbox Code Playgroud)