Remoting IIS 发布
发布日期:2022-03-11 15:03:39 浏览次数:9 分类:技术文章

本文共 2020 字,大约阅读时间需要 6 分钟。

1.创建类库项目.

using System;

using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace RemotingObject

{
    public class MyObject:MarshalByRefObject,IMyOject
    {
        #region IMyOject Members
        public string SendMessage(string msg)
        {
            return "Hello " + msg;
        }
        #endregion

        public override object InitializeLifetimeService()

        {
            return null;
        }

        public int add(int a, int b)

        {
            return a + b;
        }

    }

    public interface IMyOject

    {
        string SendMessage(string msg);
    }
}

生成类库DLL文件.

2. 在IIS建立网站或虚拟目录

指定Remoting的发布目录,例如,以d:/test做为网站或虚拟目录路径,在test下建立文件夹bin并将类库DLL文件复制到里面.

  创建web.config

<?xml version="1.0" encoding="utf-8" ?>

<configuration>
  <system.runtime.remoting>
    <application>
      <service>
        <wellknown type="RemotingObject.MyObject,RemotingObject" objectUri="Class1.soap"  mode="Singleton" />
      </service>
      <channels>
        <channel ref="http"/>
      </channels>
    </application>
  </system.runtime.remoting>
</configuration>

IIS文件结构

 ../test

  |---bin

        |-ClassLibrary1.dll

  |---web.config

 

(在此已经可以测试Remoting是否发布成功,在IE 输入 可以看xml文件内容)

 

3. 客户端调用

  web应用调用

  在web.config中添加   

    <appSettings>

    <add key="Class1url" value=">
   </appSettings>

  调用代码

 

  protected void Button1_Click(object sender, EventArgs e)

        {
  string sdkConnect = ConfigurationSettings.AppSettings["Class1url"];

 ClassLibrary1.Class1 app = (ClassLibrary1.Class1)Activator.GetObject(typeof(ClassLibrary1.Class1), sdkConnect);

 TextBox1.Text = app.add(1,2).ToString();         

    }

 

 控制台调用

  app.config

<?xml version="1.0" encoding="utf-8" ?>

<configuration>
<appSettings>
<add key= "ServiceURL" value=">
</appSettings>
</configuration>

调用代码

using System;

using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.Remoting;

namespace Clienttest

{
    class Program
    {
        static void Main(string[] args)
        {
            ClassLibrary1.Class1 app = (ClassLibrary1.Class1)Activator.GetObject(typeof(ClassLibrary1.Class1), System.Configuration.ConfigurationSettings.AppSettings["ServiceURL"]);
            Console.WriteLine(app.add(1, 2));
            Console.ReadLine();

        }

    }
}

转自:

转载于:https://www.cnblogs.com/szjdw/archive/2011/11/25/2262975.html

转载地址:https://blog.csdn.net/weixin_30267785/article/details/99190845 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:vue - resource
下一篇:一些写在前面的话

发表评论

最新留言

逛到本站,mark一下
[***.202.152.39]2024年03月30日 12时34分14秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章