如何为我的asp.net翻译以下代码?

时间:2011-11-19 15:18:35

标签: asp.net wcf

我目前正在开发WCF发布订阅服务。发布者将是一个asp.net,订阅者将是一个winform应用程序。如何为我的asp.net翻译以下代码以阅读并执行连接我服务的方式?

class Program : IPostingContractCallback
{
    static void Main(string[] args)
    {
        InstanceContext site = new InstanceContext(new Program());
        PostingContractClient client = new PostingContractClient(site);

        client.PublishPost("testing");

        Console.WriteLine();
        Console.WriteLine("Press ENTER to shut down data source");
        Console.ReadLine();

        //Closing the client gracefully closes the connection and cleans up resources
        client.Close();
    }

    public void PostReceived(string postSampleData)
    {
        Console.WriteLine("PostChange(item {0})",postSampleData);
    }

2 个答案:

答案 0 :(得分:1)

使用以下命令管理以转换服务代码

  

svcutil.exe / language:vb /out:generatedProxy.cs /config:app.config http://localhost:8888/PostingContract

并将以下代码添加到我的asp.net

Dim site As InstanceContext = New InstanceContext(New json2())
Dim client As PostingContractClient = New PostingContractClient(site)

client.PublishPost(alertId:="")
client.Close()

Public Sub PostReceived(alertId As String) Implements IPostingContractCallback.PostReceived

    Console.WriteLine("PostChange(item {0})", alertId)

End Sub

答案 1 :(得分:0)

如果我理解正确,您希望您的asp.net页面充当发布商。

我不认为这会奏效。问题是asp.net页面只能存在很短的时间。如果您尝试暂停代码,就会暂停代码,您将暂停,页面将停止工作。

但是,如果你想要做的是让发布者在服务器端运行,你应该在Windows服务中托管它。