none
獲取當前程式的類型? RRS feed

  • 问题

  • hi,

    請問C#怎樣可以得到程式的類型,例如,我的代碼在web上執行可以得到類型web

    在console上執行可以得到console。

    可以實現嗎?

    謝謝

    2011年1月10日 4:15

答案

  • 如果你这个是webservice提供的服务是无法知道的。

    不过你可以通过其他方式来限制谁访问你的接口。最有效的办法就是ip限制(你在web service中可以获取调用方的ip,然后验证这个ip否有权限访问)

    通常这个就可以,不过有可能还可以增加日志记录,目标号码限制等,这些需要你给调用者分配一个调用的key,你根据这个key检查相关限制,甚至要求内容加密(调用方需要你提供的加密方式和加密密钥)才能达到调用接口发送的目的。

     


    family as water
    2011年1月10日 6:01
  • 问题是这样的,我要写一个web service发送手机短信

    现在要让web service记录日志,例如,谁发的信息,或者是通过web或者console调用service发送出去的

    现在想给发送信息的这个方法加个参数,类似System.Environment这样的类

    从中获取用户名,ip之类的信息。

    但是现在项目经理想知道能不能记录是web(人为操作)或console(Scheduled Tasks)来发送的,想防止程序员私下调用服务发送信息。

    这样描述应该比较清楚了吧


    dear
    就我知道的,可以知道方法是被谁呼叫,试试能否套用到您的专案,用法请参考:

    [.NET] 追蹤類別–StackTrace
    http://www.dotblogs.com.tw/yc421206/archive/2010/10/25/18546.aspx

    但若是要限制WS服务的条件限制,建议还是使用账号密码来管理权限。


    秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/
    2011年1月10日 10:15

全部回复

  • dear
    程式的类型??小的听不懂你的问题
    你写ASP.NET用的是system.web命名空间的东西,若你是要取得变数的Type,用 GetType方法/typeof,下面有简单的例子你可参考GetType的用法

    [C#.NET][VB.NET] 如何 列舉 類別中的成員 / Type.GetMembers
    http://www.dotblogs.com.tw/yc421206/archive/2009/08/13/10024.aspx
    秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/
    2011年1月10日 5:05
  • 问题是这样的,我要写一个web service发送手机短信

    现在要让web service记录日志,例如,谁发的信息,或者是通过web或者console调用service发送出去的

    现在想给发送信息的这个方法加个参数,类似System.Environment这样的类

    从中获取用户名,ip之类的信息。

    但是现在项目经理想知道能不能记录是web(人为操作)或console(Scheduled Tasks)来发送的,想防止程序员私下调用服务发送信息。

    这样描述应该比较清楚了吧

    2011年1月10日 5:24
  • 如果你这个是webservice提供的服务是无法知道的。

    不过你可以通过其他方式来限制谁访问你的接口。最有效的办法就是ip限制(你在web service中可以获取调用方的ip,然后验证这个ip否有权限访问)

    通常这个就可以,不过有可能还可以增加日志记录,目标号码限制等,这些需要你给调用者分配一个调用的key,你根据这个key检查相关限制,甚至要求内容加密(调用方需要你提供的加密方式和加密密钥)才能达到调用接口发送的目的。

     


    family as water
    2011年1月10日 6:01
  • 问题是这样的,我要写一个web service发送手机短信

    现在要让web service记录日志,例如,谁发的信息,或者是通过web或者console调用service发送出去的

    现在想给发送信息的这个方法加个参数,类似System.Environment这样的类

    从中获取用户名,ip之类的信息。

    但是现在项目经理想知道能不能记录是web(人为操作)或console(Scheduled Tasks)来发送的,想防止程序员私下调用服务发送信息。

    这样描述应该比较清楚了吧


    dear
    就我知道的,可以知道方法是被谁呼叫,试试能否套用到您的专案,用法请参考:

    [.NET] 追蹤類別–StackTrace
    http://www.dotblogs.com.tw/yc421206/archive/2010/10/25/18546.aspx

    但若是要限制WS服务的条件限制,建议还是使用账号密码来管理权限。


    秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/
    2011年1月10日 10:15
  • http://msdn.microsoft.com/en-us/library/ms683197(v=vs.85).aspx

    这个函数可以查找到当前进程的exe文件

     

    2011年1月11日 2:16