为什么IIS8没有默认对.svc请求做处理

为什么IIS8没有默认对.svc请求做处理,第1张

1. 首先添加MIME类型 扩展名“.svc”,MIME类型 “application/octet-stream”

2. 然后在“Handler Mappings”中添加Managed Handler,Request path: *.svc

Type: System.ServiceModel.Activation.HttpHandler

Name: svc-Integrated

完成后,IIS8即可支持WCF服务svc请求!

将具体看我空间

ARM7有7种模式:User用户、System系统、Fast Interrupt快速中断、Interrupt中断、Supervisor管理、Abort中止、Undefined未定义,共有37个寄存器,结构如下图。

其中白色寄存器为共有的,彩色为该模式独有的。模式由CPSR中的低五位决定,更改这5位(用户模式除外)就可以进入相应的模式,模式还可以由异常而转换,比如中断被触发,CPU自动进入中断模式。

注意:像R13_irq的_irq这样的后缀在程序中不能出现。

C51没有模式的概念,也可以说C51只有一种模式,不过它的四个工作寄存器组倒是有点模式的意思。

SPSR(Saved Program Status Register)用来做CPSR的备份,发生异常时(不是修改模式位),CPU会自动将CPSR的内容备份到SPSR,所以当模式返回时,需要用软件把SPSR恢复答CPSR。

除用户模式外,其他6个模式可以直接对CPSR进行读写,所以这6个模式叫特权(privileged)模式,系统模式和用户模式有相同的寄存器,只不过系统模式可以直接读写CPSR,其他5个模式需要发生异常(exception)来进入,所以叫异常模式。

单步调试下面代码,观察各个寄存器的值:

AREA ABC,CODE,READONLY

CODE32

系统上电复位后,自动进入管理模式

MOV R0,#0x11

MOV R13,#0x22 管理模式下的R13_svc

MRS R1,CPSR 将CPSR内容读取到R1中

BIC R1,R1,#0x1F 将R1的低5位清零

ORR R1,R1,#0x12 将R1的低5位赋值为0x12,即中断模式

MSR CPSR_C,R1 将R1的值载到CPSR的C域(低八位),CPU进入中断模式

MOV R0,#0x33 R0还是前面那个R0

MOV R13,#0x44 R13已经不是那个R13_svc,是R13_irq

MRS R1,CPSR

BIC R1,R1,#0x1F 进入管理模式

ORR R1,R1,#0x13

MSR CPSR_C,R1

S B S

END

系统上电复位后,自动进入管理模式对CPSR读写只能通过MRS和MSR,且要采取读—改—写的方式,BIC是按位清零,ORR是按位或,中断模式的模式位是10010(0x12),管理模式的模式位是10011(0x13),别的模式切换同理。

经试验发现:R0的值被更新,说明它是共用的,而这两个模式都有自己的R13。

您好,在Linux应用程序中直接内嵌汇编调用svc会有一些不同的结果。首先,svc会使用特定的指令来调用系统调用,这可能会对应用程序的性能产生影响,因为它会消耗更多的时间来执行指令。其次,svc还会改变应用程序的控制流,因为它会调用系统调用,而不是直接执行应用程序的指令。最后,svc还会改变应用程序的内存布局,因为它会在应用程序的内存中添加新的指令,这可能会影响应用程序的性能。因此,在Linux应用程序中直接内嵌汇编调用svc会有一些不同的结果,因此在使用svc之前应该考虑这些影响。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11761006.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存